Flutter, also referred to as Flutter.io, allows us to build beautiful native apps on iOS and Android from a single codebase.
The key phrase here is “single codebase”. Before Flutter, if you wanted to develop an app that is optimised for both Android (Google) and iOS (Apple), you had to build and support two completely separate sets of code. More bugs to fix, more code to upgrade, more functions to test, more specialist developers required, more chance that your Android app won’t be identical to your iOS app. That’s fine if you’re a large, well-funded organisation such as Facebook or Google with hundreds of developers at your disposal. But for the rest of us… not so fine.
What do we mean by “native”? From a business perspective, it means writing code that has full and optimal access to every single hardware and software feature of the device (e.g. smartphone) you’re writing the code for. No compromise, best performance. By comparison, any non-native methods of building apps – such a hybrid or PWAs – involve compromise of some sort.