Flutter 2.5 released with full-screen Android app and Material You support
If you’re into cross-platform development, chances are you’ve heard of Flutter. Using the Dart language, Flutter is a cross-platform UI framework that aims to make developing for anything from iOS to the web as easy as possible. Yesterday, Google announced the release of Flutter 2.5 and Dart 2.14, and there’s a lot that’s new.
This article is only going to go over some of the changes in Flutter and Dart. For more details, check out the links at the end.
Full Screen in 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 screen to display the system overlays.
- Immersive: swipe on the edge of the screen to display the system overlays.
- Immersive Sticky: similar to Immersive but allows the framework to handle the swipe.
- Edge-to-Edge: display application elements behind the translucent system overlays.
For more details, check out the pull request on the Flutter GitHub repository.
Material You is Google’s latest version of Material Design. Also known as Material v3, it’s a pretty major revamp of the Material Design language. There are new shapes, themes, and even dynamic color effects.
Flutter 2.5 introduces some Material You support options, including new FAB sizes and more theming options. It’s not a complete implementation yet, but it shows that Google is making progress.
Alongside Flutter 2.5, the IDE plugins for IntelliJ/Android Studio and Visual Studio Code are being updated.
The new IntelliJ/Android Studio plugin for Flutter allows developers to run integration tests on the entire project. These tests are defined in their own directory and run on-device. You can also now generate coverage reports for unit and integration tests.
Finally, there’s 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’re using, and it only works on static constants, but it’s definitely a nice feature to have.
Visual Studio Code
With the updates to the Visual Studio Code plugin for Flutter, there are two new commands added to make it easier to install Dart and Dart Dev dependencies. There’s also now a Fix All command for automatically formatting and fixing lint issues in the current file.
On top of that, there’s a new test runner for Dart and Flutter code in preview that can be enabled in this version. This new runner will eventually replace the current one.
Pigeon is a code generation tool made for Flutter to help developers with code bridging between Flutter and native platforms. Pigeon uses a special interface descriptor syntax to generate Flutter, Java, and Objective-C stubs automatically. It’s even type-safe and null-safe.
Pigeon 1.0 brings the basic functionality to the stable channel, along with support for better error messages, generics, primitives, and multiple arguments.
While there’s a lot new in Flutter itself, the underlying language, Dart, also has some changes.
Dart 2.14.1 has better support for 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 doesn’t yet natively support Apple Silicon.
Dart has gone through a lot of changes since it was first created, including the syntax and style conventions around that syntax. Because of these changes, and old style guides sticking around, there’s been some confusion with 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 these conditions are applied by default.
There’s a whole lot more that’s new in Flutter 2.5 and Dart 2.14. From bug fixes to new features, this article definitely hasn’t covered everything. Make sure you check out Google’s blog posts on Flutter 2.5 and Dart 2.14 for everything that’s new.