A cross-platform app means you write the program once and get it for Android and iOS (and sometimes web and desktop). The goal is to avoid starting from scratch for each operating system.
Common tools#
- Flutter: from Google, it draws the interface itself.
- React Native: written in JavaScript and uses real components of the operating system.
- MAUI: from the .NET family.
An example#
A startup with two developers cannot hire separate teams for Android and iPhone. With a cross-platform tool the same two people build both versions from one codebase and fix bugs in one place.
How it differs from hybrid#
In a hybrid app, a web page is displayed inside a shell; in modern cross-platform tools, the interface is usually built directly with a graphics engine or native components, and its performance is closer to native.
Limitations#
- For very specific features of each operating system you sometimes have to write separate native code.
- The final app size may be slightly larger than a native version.
- Keeping up with new operating system versions depends on the tool's maintainers.
For most business apps, cross-platform is a good balance between cost, build speed and quality.