Google Flutter 3 is official: supports iOS, Android, Windows, macOS and Linux
Google announced the release of Flutter 3 as part of its Google I/O keynote. Google Flutter 3 completes its roadmap from a mobile-centric framework to a cross-platform framework. It supports macOS and Linux desktop apps. Additionally, it improves Firebase integration, brings new productivity and performance features, and also supports Apple Silicon.
Google Flutter 3 – the roadmap
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 steadily grown on this foundation. The company has added new framework functions and widgets, deeper integration with the underlying platform, and a rich library of packages. Many performance and tooling improvements have also been made.
As a maturing product, this product now has more and more applications under its belt. Today, over 500,000 apps are published using Flutter. Analysis from research companies like data.ai, as well as public opinion, shows that Flutter is used by customers in many niches. Its usage scenarios range from social apps like WeChat, to finance 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 apps to official apps from public institutions like the Brazilian government, etc., Flutter shines.
Welcome to Flutter 3
At this point, Flutter’s cross-platform journey has reached a new climax. With Google Flutter 3, you can build beautiful experiences for 6 platforms with just one code base. It offers developers unparalleled productivity and empowers startup teams to bring new ideas to a fully usable market from day one.
In previous versions, Google adds support for web and Windows platforms in addition to iOS and Android platforms. Now, 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, support for compiling and build, 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 want.
On macOS, Google has dedicated resources to support Intel and Apple Silicon and provides Universal Binary support. This allows applications to be bundled into executables that run natively on both architectures. On Linux, Canonical and Google have teamed up to give developers the best possible development tools with high integration.
Create universal macOS binaries
Superlist is a great example of how Flutter can help you get a great 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 an all-new app that gives things like tasks and personal planning a fresh new look. The Superlist team chose Flutter for its ability to provide a fast and highly personalized desktop experience. Google believes its progress so far shows that this is a very smart move.
Google Flutter 3 also brings improvements to many essentials, improving performance, improving support for Material You, 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 support for Apple Silicon. It allows for faster compilation on M1-powered devices and support for macOS apps.
Mac computers using Apple Silicon
In this release, Google’s Material Design 3 support is nearing completion. Developers can now take full advantage of this responsive cross-platform design system, including its dynamic color schemes and updated visual components.
Material Design 3
Google will also soon publish a more detailed technical article, in which this part is explained. In the release, the company will also explain many other new features of Google Flutter 3.
Flutter is powered by Dart, a highly productive portable language for cross-platform development. Google’s improvements to Dart this release cycle include new language features that help reduce model code and improve readability, experimental support for RISC-V, improved linter, and a new documentation.
Firebase and Flutter
Of course, there is more to building apps than just building UI 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 features, and device testing. Several services currently support Flutter, including Sentry, AppWrite, and AWS Amplify.
Google’s application service 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 worked with Firebase to expand and improve the integration between the two. The company also wants to make it the go-to integration service for Flutter. This includes upgrading Flutter’s Firebase plugin to version 1.0, adding better documentation and tools, and providing new widgets like FlutterFireUI.
Google officially confirms that the Flutter/Firebase integration is now part of the core Firebase product. The company has also moved source code and documentation to the main Firebase repository and website. Firebase support for Flutter will evolve alongside support for Android and iOS.
Additionally, 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 such as “free users crashing” to help you maintain your app’s stability. The Crashlytics analytics pipeline has also been upgraded to improve handling of Flutter crash aggregation. This speeds up filing, prioritization, and problem solving. Finally, the plugin configuration process is now very simple. So you can configure 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 Flutter’s hardware graphics acceleration support, its application is growing. Additionally, open source game engines like Flame and the community around casual game development are also growing. Google wants to make it easier for casual game developers to start their projects. So, during the I/O conference, Google released the Casual Game Toolkit. This provides templates, a best practices starter kit, and referral credits available for advertising and cloud services.
The truth is that Flutters is not originally intended to create high-intensity 3D action games. However, some of these games have started using Flutter in the UI part of the game scene. Currently, PUBG Mobile which has hundreds of millions of users is using Flutter. Google wants to see how far it could push the technology, so it has a fun pinball game that uses Firebase and Flutter web support. The I/O Pinball game features a custom table 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 the versatility of Flutter in this fun way.