Google has announced the release of Flutter 3 as part of its Google I/O keynote. Google Flutter 3 completes its roadmap from a mobile-centric to a multi-platform framework. It provides support for macOS and Linux desktop apps. Furthermore, it improves Firebase integration, brings new productivity and performance features and also provides support for Apple Silicon.
Google Flutter 3 – the road map
Google created Flutter to revolutionize app development: combining the web’s iterative development model with hardware-accelerated graphics rendering and pixel-level control previously only possible with games. In the four years since the release of Flutter 1.0 Beta, Google has gradually developed on these foundations. The company has added new framework functions and new widgets, deeper integration with the underlying platform, and a rich package library. Numerous performance and tooling improvements have also been made.
As a maturing product, this product is now getting more applications under its belt. Today, more than 500,000 apps are published using Flutter. Analysis from research firms like data.ai, as well as public opinion, shows that Flutter is being used by customers in many niches. Its usage scenarios range from social apps like WeChat, to financial and banking apps like Betterment and Nubank, to business apps like SHEIN and trip.com, to lifestyle apps like Fastic, Tabcorp, and My BMW. From companion applications to official applications of public institutions such as the Brazilian government, etc., Flutter is shining.
Welcome to Flutter 3
At this point, Flutter’s cross-platform journey has hit a new climax. With Google Flutter 3, you can build beautiful experiences for 6 platforms with just one codebase. It provides developers with unparalleled productivity and enables startup teams to bring new ideas to a fully usable market from day one.
In previous releases, Google adds support for the web and Windows platforms in addition to the iOS and Android platforms. Now, the Google Flutter 3 adds stable support for macOS and Linux apps. Adding platform support requires more than just rendering pixels: it also includes support for new input and interaction models, compilation and build support, accessibility and internationalization support, and platform-specific integration. Google’s goal is to give you the flexibility to take full advantage of the underlying operating system while sharing as much user interface and logic as you choose.
On macOS, Google has dedicated resources to support Intel and Apple Silicon and provides Universal Binary support. This enables apps to be packaged into executables that run natively on both architectures. On Linux, Canonical and Google have partnered to bring developers the best possible development tools with high integration.
Build Universal macOS Binaries
Superlist is a great example of how Flutter can help you achieve a beautiful desktop experience, and it’s available in beta today for everyone to experience. Superlist offers powerful collaboration features, bringing together lists, tasks, and free-form content in a brand-new app that brings things like to-dos and personal planning to a new look. The Superlist team chose Flutter for its ability to provide a fast and highly branded desktop experience. Google believes that its progress so far shows that this is a very smart choice.
Google Flutter 3 also brings improvements to many essentials, improving performance, enhancing Material You support, and further improving productivity.
In addition to what was mentioned above, Flutter fully supports native development on Apple Silicon. While Flutter has been compatible with M1-powered Apple devices since the inception of the M1 processor, Flutter now takes full advantage of Dart’s support for Apple Silicon. It enables faster compilation on M1-powered devices, and support for macOS apps.
Mac computers using Apple Silicon
In this release, Google’s support for Material Design 3 is almost complete. Developers can now take full advantage of this responsive, cross-platform design system, including its dynamic colour schemes and updated visual components.
Material Design 3
Google will also publish a more detailed technical article in the near future, in which this part is explained. In the release, the company will also further explain many other new features of Google Flutter 3.
Flutter is powered by Dart, a highly productive, portable language for multi-platform development. Google’s improvements to Dart during this release cycle include new language features that help reduce template code and improve readability, experimental RISC-V support, an upgraded linter, and new documentation.
Firebase and Flutter
Of course, building applications is more than building user interface frameworks. Application publishers need a comprehensive set of tools to help them build, publish, and operate their applications. This includes services such as authentication, data storage, cloud capabilities, and device testing. Several services currently support Flutter, including Sentry, AppWrite, and AWS Amplify.
The app service from Google is Firebase. SlashData’s developer benchmark study shows that 62% of Flutter developers use Firebase in their apps. So over the past few releases, Google has been working with Firebase to expand and improve the integration between the two. The company also want to make it the go-to integration service for Flutter. This includes upgrading Flutter’s Firebase plugin to 1.0, adding better documentation and tooling, and providing new widgets like the FlutterFireUI.
Google officially confirms that Flutter/Firebase integration is now part of the Firebase product core. The company has also moved the source code and documentation to Firebase’s main repo and website. Firebase’s support for Flutter will evolve in parallel with Android and iOS support.
Furthermore, the company includes major improvements to support Flutter apps using Crashlytics (the popular real-time crash reporting service in Firebase). With the latest Flutter Crashlytics plugin, you can track fatal errors in real-time. Interestingly, this tracking is possible using the same feature set as iOS and Android developers. These include important alerts and metrics like “crashing free users” to help you keep your app stable. Crashlytics’ analytics pipeline also has an upgrade to improve the aggregation handling of Flutter crashes. This makes it faster to grade, prioritize, and fix issues. Finally, the plugin setup process is now very simple. Thus, you can set up and use Crashlytics directly from your Dart code in just a few steps.
Flutter Casual Game Kit
For most developers, Flutter is an application framework. However, with the hardware graphics acceleration support from Flutter, its application is growing. Furthermore, open-source game engines like Flame and the community around casual game development is also growing. Google wants to make it easier for casual game developers to kick-start their projects. Thus, at the I/O conference, Google released the Casual Game Toolkit. This provides templates, a best-practice starter kit, and sponsorship credits available for advertising and cloud services.
The truth is that Flutters is originally not for building high-intensity 3D action games. However, some of these games have begun to use Flutter in the user interface part of the game scene. At the moment, PUBG Mobile which has hundreds of millions of users uses Flutter. Google want to see how far it could push the technology, so it has a fun pinball game that uses Firebase and Flutter’s web support. The I/O Pinball game offers a custom tabletop around four of Google’s most popular mascots: Flutter’s Dash, Firebase’s Sparky, Android Robot, and Chrome Dinosaur. These you can find in this game and compete with others. Google wants to showcase Flutter’s versatility in this fun way.