Google has made Flutter developers feel like Christmas with another release of Flutter 2.5 last Thursday, 8th Sep. If we recall, Flutter 2.5 release is the third launch in 2021, including Flutter 2.0 in March and Flutter 2.2 in May. The Flutter team has closed 4600 issues and merged 3932 pull requests from 252 contributors (quite a number!) with 216 reviews. These are the second-highest stats in the history of Flutter releases, the team.
Speaking of what’s new in Flutter 2.5, the release is focused on performing and tooling. Thereby, there are loads of improvements and updates in both of those categories. Other than that, Flutter developers get new features like FullScreen support for Android, Material You support, text editing shortcuts, a new widget inspector, dependencies support in VS Code, and a wholly new app template that will make you go nuts.
Not to mention the Flutter SDK release tradition, which brings Dart programming language version 2.14 along with Flutter 2.5. Among many significant new features and improvements, native support for Apple Silicon Chip grabs the most attention in Dart 2.14.
Chris Sells is always recommended to know bits and pieces of the Flutter 2.5 release note. But if you’re feeling lazy or don’t have time, our post will be enough to grasp crucial insights into Flutter 2.5 features.
What’s new in Flutter 2.5?
The Flutter team has continued to reduce iOS jank issues and is getting even better with this release. There are three different ways they have tried to alleviate the iOS jank issue. First, they improved schedule policies, second garbage collection improvement, and third is message latency between Dart and objective-C/Swift or Dart and Java/Kotlin as well.
Flutter 2.5 has fixed issues that revolve around Android apps when running in full-screen mode with updating three new modes:
- Lean Back: display the system overlays by tapping anywhere on-screen.
- Sticky: display the system overlays by swiping on the edge of the screen.
- Immersive Sticky: This allows the framework to handle the swipe.
- Edge-to-Edge: display application elements behind the translucent system UI overlays.
So, when the user engages with the app, if the system UI comes back, Flutter developers can now write their code to get back to fullscreen or do something else.
In addition to fullscreen improvements, Flutter 2.5 incorporates Google’s updated design language Material You’s (aka Material v3) early support. The latest version of Material Design, Material v3, brings new shapes, themes, and dynamic color effects.
Flutter 2.5 introduces supports like Floating action button sizes, scroll metrics notification, and more with all those sugary features.
Camera, image picker & plus plugins
The camera plugin and the image_picker plugin are the go-to plugins when you want to use these features. With Flutter 2.5, they have also improved a lot to enhance the end-to-end camera experience in your Flutter app. One of the coolest things about this is the camera plugin now has early support for the web. So when using Flutter for web development, you can implement camera features as well.
- Improved Flutter DevTools will help spot UI performance issues, including slow frame times, and warn you when jank detected;
- Shader compilation will give more accurate ideas of what causing issues;
- You can now hide SDK’s CPU usages to focus solely on the code;
- Codes will be easily recognizable with colored bars;
- Widget Inspector Console update will empower you to evaluate the object, view properties, widget state, and more by hovering over the same;
- DevTools has a better UX design now to make your app development journey joyful.
It’s not enough about DevTool updates, as there are so many that you can find below.
- Flutter DevTools 2.3.2 Release Notes
- Flutter DevTools 2.4.0 Release Notes
- Flutter DevTools 2.6.0 Release Notes
IntelliJ/Android Studio Improvements
- Update of running integration test that runs on a device, following the same testWidgets() functionality from widget unit tests;
- The latest IJ/AS plugin will display the coverage information for both unit test and integration test;
- Flutter 2.5 also lets you preview icons used from packages from pub.dev;
Flutter 2.5 has got so much more for IntelliJ/Android Studio plugin, and you can read everything from:
- Flutter IntelliJ Plugin M57 Release
- Flutter IntelliJ Plugin M58 Release
- Flutter IntelliJ Plugin M59 Release
- Flutter IntelliJ Plugin M60 Release
Visual Studio Code
Good news for all VisualStudio Code fans.
- Two new commands are added to VS Code Plugin: “Dart: Add Dependency” and “Dart: Add Dev Dependency” (#3306, #3474); these will allow you to add dependencies without leaving the VS Code (It’s kind of a built-in version of Pubspec Assist extension);
- “Fix All” command made available for Dart files that can fix all of the similar issues as dart fix for the currently open file in one go.
- Flutter 2.5 also presented a preview of the new VSCode test runner integration to let the dart.previewVsCodeTestRunner in settings;
Brand new Tools
- Flutter has a new template skeleton.
Flutter 2.5 release has got you something more than your counter app with fascinating improvements that you never get before. It’s a skeleton template. It generates a two-page List View Flutter app (with Detail View), following community best practices. The team has worked hard on it to render a better foundation so that you build a production-quality app. It supports the following features:
- Uses ChangeNotifier to coordinate multiple widgets
- Generates localizations by default using arb files
- Includes an example image and establishes 1x, 2x, and 3x folders for image assets
- Uses a “feature-first” folder organization
- Supports shared preferences
- Supports light and dark theming
- Supports navigation between multiple pages
It isn’t a default project. You get the counter app by default, and if you want to use the Skeleton template, you can with `flutter create -t skeleton my_app.`
Pigeon is v1.0 now!
The Pigeon is a code generator tool for generating typesafe interop code between Flutter and its host platform. You can define your plugin’s API’s description and generate code for Dart, Java, and Objective-C (accessible to Kotlin and Swift, respectively). Therefore, the job of Pigeon is to make communication between Flutter and the host platform type-safe easier and faster.
Now, it’s time to shed some light on Flutter’s underlying language, Dart, which is now upgraded to Dart 2.14. Let’s have a snapshot of what’s newly emerging in Google’s Dart.
- Flutter Lints is out of the box for Flutter apps, packages, and plugins and all set to encourage good coding practices;
- Apple Silicon support (noteworthy, the Dart SDK bundled in the Flutter SDK doesn’t have these improvements);
- New .pubignore file support has been added that allows listing the files you don’t want to upload to pub.dev with the same format as .gitignore files;
- pub in Dart 2.14 is much more innovative and much faster;
- added a new triple shift operator >>> or unsigned shift to fill the most significant bits with zeros;
- Better memory management
For a Dart admirer, here is the official post to learn more.
All new couple Flutter 2.5 and Dart 2.14 are all set to add more spark to your project. But the Proof of the Pudding Is in the Eating, right? So, what are you waiting for to grab your hands on one of the world’s fastest-growing technologies?