There is also what Google describes as production-quality support for web-based applications, calling Flutter from within HTML.
Launched in London back in December 2018, Flutter is a mobile user interface toolkit for creating embedded graphic components from a single codebase. It is an open source project with a BSD‑style licence.
“In Flutter 2…we’ve broadened Flutter from a mobile framework to a portable framework, unleashing your apps to run on a wide variety of different platforms with little or no change. There are already over 150,000 Flutter apps out there on the Play Store alone, and every app gets a free upgrade with Flutter 2 because they can now grow to target desktop and web without a rewrite.”
“Customers from all around the world are using Flutter, including popular apps like WeChat, Grab, Yandex Go, Nubank, Sonos, Fastic, Betterment and realtor.com. Here at Google, we’re depending on Flutter, and over a thousand engineers at Google are building apps with Dart and Flutter. In fact, many of those products are already shipping, including Stadia, Google One, and the Google Nest Hub.”
By creating native Arm code, the intention is that Flutter enables the flexibility of cross-platform development without necessarily compromising on performance.
You can build to .apk files for Android, for example, or .ipa files for equivalent IoS applications, from a single codebase.
Who uses Flutter? Google highlights, for example, that Toyota is among those building in-car infotainment systems powered by Flutter, and Lenovo has previously based the UI for its smart clocks on the system. Other cited examples include the Root educational robots from iRobot and Rive’s Web app for creating custom animations for multiple platforms.
Dart is the strongly-typed programming language that can be used to create Flutter-based applications, via Google’s Android Studio IDE (integrated development environment). It has also been updated, to Dart 2.12.
“Dart 2.12, available today, is our largest release since 2.0, with support for sound null safety. Sound null safety has the potential to eradicate dreaded null reference exceptions, offering guarantees at development and runtime that types can only contain null values if the developer expressly chooses. Best of all, this feature isn’t a breaking change: you can incrementally add it to your code at your own pace, with migration tooling available to help you when you’re ready.”
You can read more about whats in Flutter 2.0 in the Flutter blog on Medium.
A key element of the system is stateful hot reload (SHR), which means you can make changes to the code and see the results without restarting your app or losing its state.
This promises faster design and development iterations, with the immediate feedback of more traditional HTML/Java script development, and the more direct involvement of designers.
See also: Google sets free a Flutter introductory video course