Flutter 2.5 released with fullscreen Android app and Material You support
If you’re into cross-platform development, there’s a good chance you’ve heard of Flutter. Using the Dart language, Flutter is a cross-platform UI framework that aims to make development for everything from iOS to the web as easy as possible. Yesterday Google announced the release of Flutter 2.5 and Dart 2.14, and there are a lot of new things.
This article is only going to go over some of the changes in Flutter and Dart. For more details, see the links at the end.
Full screen on Android
A big change in Flutter 2.5 is better full screen support for apps running on Android. The update brings the following new immersive modes:
- Lean back: Tap anywhere on the screen to view system overlays.
- Immersive: Drag around the edge of the screen to view system overlays.
- Immersive Sticky: Similar to Immersive but allows the framework to handle the swipe.
- Edge to Edge: View app elements behind translucent system overlays.
For more details, see the pull request on the Flutter GitHub repository.
Material You is the latest version of Material Design from Google. Also known as Material v3, this is a pretty big overhaul of the Material Design language. There are new shapes, new themes, and even dynamic color effects.
Flutter 2.5 introduces some Material You support options, including new FAB sizes and more theme options. It’s not yet a full implementation, but it shows that Google is making progress.
Along with Flutter 2.5, the IDE plugins for IntelliJ / Android Studio and Visual Studio Code are being updated.
IntelliJ / Android Studio
The new IntelliJ / Android Studio plugin for Flutter allows developers to run integration tests across the entire project. These tests are defined in their own directory and run on the device. You can now also generate coverage reports for unit and integration tests.
Finally, there is another small addition to let you preview TrueType font icons in the IDE when those fonts are fetched from pub.dev. You have to tell the IDE which packages you are using, and it only works on static constants, but it’s definitely a nice feature to have.
Visual Studio code
Along with the updates to the Visual Studio Code plugin for Flutter, two new commands have been added to make it easier to install Dart and Dart Dev dependencies. There is also now a Fix All command to automatically format and fix lint issues in the current file.
On top of that, there is a new test launcher for Dart and Flutter code preview that can be activated in this version. This new runner will eventually replace the current one.
Pigeon is a code generation tool designed for Flutter to help developers bridge the gap between Flutter and native platforms. Pigeon uses special interface descriptor syntax to automatically generate Flutter, Java, and Objective-C stubs. It is even of the secure and null type.
Pigeon 1.0 brings basic functionality to the stable channel, as well as support for better error messages, generics, primitives, and multiple arguments.
While there is a lot of new stuff in Flutter itself, the underlying language, Dart, has a few changes as well.
Dart 2.14.1 better supports Apple Silicon. The Dart SDK for Apple Silicon is now stable and iOS emulators can be run on ARM64. Unfortunately, the Dart SDK included in the Flutter SDK does not yet natively support Apple Silicon.
Dart has undergone many changes since its inception, including the syntax and style conventions around this syntax. Due to these changes and the old style guides, there has been some confusion on how to properly format Dart and Flutter code.
Dart 2.14.1 and Flutter 2.5 now have a set of conditions for lint, and those conditions are applied by default.
There are many more new features in Flutter 2.5 and Dart 2.14. From bug fixes to new features, this article certainly hasn’t covered everything. Be sure to check out Google’s blog posts on Flutter 2.5 and Dart 2.14 for anything new.