Flutter, Google’s massive cross-platform app development framework, has reached version 3, bringing support for Material You, Linux and macOS, and more.
Linux and macOS Flutter Apps
Over the past few years, Google has steadily made Flutter one of the fastest growing cross-platform development toolkits out there. After starting out with only support for Android and iOS apps, the framework can also be officially used to build apps for Windows, Web, and embedded devices.
With today’s release of Flutter 3, the work of adding platforms is complete as developers on the stable channel can now build apps for macOS as well as Linux devices and expect first-class support. class. For Linux, this effort was aided by Canonical, the developers of Ubuntu, who used Flutter to build core experiences in Ubuntu, including parts of the setup flow.
Meanwhile, part of macOS support is that Flutter and the underlying Dart programming language now have native support for Apple Silicon. Even better, you can ship Flutter apps in Universal Binary format, which allows them to run efficiently on Apple Silicon and Intel Macs. This support from Apple Silicon also extends to developers, with the Flutter and Dart SDKs now ready to run on the latest generations of Macs.
Material You & dynamic themes
At last year’s Google I/O, shortly after the company announced its upcoming Material You design language, the Flutter team confirmed that developers would be able to bring this third generation of Material Design to their own applications. Less than a year later, we are now seeing the fruits of that effort, with Flutter 3 bringing a variety of new Material You widgets.
Beyond that, considerable effort has gone into generating custom themes in Flutter 3. Similar to Android 12, it’s possible to automatically create an app’s entire color scheme from a single color of departure. Importantly though, this capability is by no means limited to Android 12 and its wallpaper-based themes. If you want, your application can use almost any color as a reference for a custom theme.
As is often the case, this latest release of Flutter also coincides with a new Dart SDK update, bringing the language to version 2.17. These Dart improvements are available to all developers, whether you use Flutter or not.
The main feature of Dart 2.17 is the ability for developers to extend enumerations and override its default functions. This allows enums to act a bit more like custom written classes, if desired.
In an effort to reduce boilerplate code, Dart 2.17 also introduces the idea of ”super parameters” when creating a class that inherits from another class. In the common example of Flutter widgets always passing the “key” parameter to the “Widget” class, this should save quite a few lines of code and make your code much easier to read.
First-class Firebase support
In a survey of Flutter developers, it was found that a whopping 63% of them use Firebase in their apps. To best reflect this reality and the continued growth of Flutter, the suite of Firebase plugins for Flutter is now “evolving” into a “fully supported core part of the Firebase offering”. This means that these plugins now fall under the Firebase repository and website.
Additionally, efforts have been made to create new Flutter widgets that make it easier to use Firebase in your app. For example, there is an easily reusable UI for logging into an app via Firebase Authentication.
Along with major changes to Flutter 3, Google is sharing the Casual Games Toolkit, a new suite of guidelines, templates, tutorials, and credits for game developers looking to use Flutter. Until now, the Flutter team had focused on helping build apps, not games; so this is exciting growth for the framework.
To showcase Flutter’s potential for smaller casual games, the delightful I/O Pinball game released earlier this week was made with Flutter and Firebase. For those who want to dive a little deeper into using Flutter for game development, you can also look into the third-party game engine Flame.
What’s next for Flutter?
Now that Flutter 3 has hit all six major platforms – Android, iOS, Web, Windows, macOS, and Linux – the big question some may be asking is “what’s next?” We had the chance to speak with Tim Sneath, Google Product Manager for Flutter, who shared that building support for these platforms was all about giving Flutter a solid foundation to build on.
Now that the foundations have been laid, Google will continue to build on two key areas: improving developer productivity and expanding what Flutter can do. According to Sneath, the new Flutter Casual Games toolkit is a great example of what the latter will look like, with new expansions to come.
FTC: We use revenue-generating automatic affiliate links. After.
Check out 9to5Google on YouTube for more info: