At the recent Google I/O conference, Google announced version 2.2 of its cross-platform UI toolkit, Flutter. According to a study, it is now the most popular cross-platform option. Google concentrated on fixing issues, optimizing performance, and refining existing features in this release. Microsoft, Samsung, Adobe, Sony, and Ubuntu Linux all increased their Flutter support.
Google cited SlashData's "Mobile Developer Population Forecast 2021" and said that 45% of developers select Flutter now, with a 47% year-over-year growth. This would make Flutter the most popular cross-platform UI toolkit.
Google also announced that 200,000 apps in the Play Store are built with Flutter. That is 50,000 more than at the end of 2020 and shows a growth rate of 440% since December 2019. In those same 16 months, though, the number of Google teams building Flutter apps only grew by 50%, from "over 20" to "more than 30". For comparison: In the 27 months from February 2019 to April 2021, Google's Angular applications increased 430% from "600+" to "2600 or 2700", as Google developer advocate Emma Twersky explained in this podcast (28:35 min).
Flutter's ecosystem advanced, too: First, Microsoft has an Alpha release of Flutter Desktop running on its Universal Windows Platform (UWP) UI toolkit. Flutter is also getting some attention on Linux and Tizen, with Sony leading the Flutter port to embedded Linux, and Ubuntu Linux shipped with a Flutter SDK in April. On the other hand, Samsung is porting Flutter to smartwatches, TVs, and IoT devices that use its operating system, Tizen. Finally, Adobe updated the plugin for its UI design tool XD that generates Flutter applications.
As part of the optimizations in Flutter 2.2, Google added background caching through service workers to web apps. Android apps now support deferred components which download code and resources on the fly. And iOS animations stutter less on first use (the so-called jank). The Flutter team also more than halved the turn-around time for critical Flutter issues in the last six months and continues to close issues faster than new ones are filed (at the time of writing).
Last March, Flutter 2 shipped with Dart 2.12, which introduced sound null safety. More than 80% of the top 1,000 packages at the Flutter plugin repository already migrated to null safety. That is why Google felt confident to make null safety the default for new Flutter projects now.
Flutter 2.2 builds on Dart 2.13, which improves communication with native C code by supporting inline arrays and packed structs. It also adds type aliases:
typedef Integer = int;
void main() {
print(int == Integer); // true
}
Google updated the Flutter plugins for Google AdMob and in-app purchases (which reached production quality). The new payment plugin relies on Apple Pay and Google Pay. Flutter also promised to fully implement the new Material You design system when it ships later this year for Android.
The Dart DevTools, a Flutter web app itself, now show where an object was allocated, allow the injection of custom events into the memory timeline, and support third-party tools extensions.
Developers can also add Flutter UIs to existing native iOS and Android apps. Google gave WeChat, the "largest multi-purpose messaging, social media, and payment app in the world", as an example: The video editor and the support for virtual conferences were built with Flutter.
Google emphasized that Dart can be used for server-side code, too. Dart is available both as Docker images and a server-less framework that handles both HTTP requests and CloudEvents.
Google I/O offers several videos about Flutter: 6 Flutter sessions, 5 workshops, and 2 "Ask me anything" events.
Shortly after Google I/O, Google's capability-based OS Fuchsia debuted on the Google Nest Hub. Fuchsia uses Flutter as its UI toolkit.