What’s new in Flutter 3.16?

Yogita Kumar
6 min readNov 30, 2023

We now have the new version of Flutter available, Flutter 3.16, and it’s packed with cool new stuff like Impeller in preview mode for Android, support for Predictive Back Navigation for Android 14 and Material 3 as the default visual style. Also you can now use Flutter widgets in some iOS extensions and for game developers, there are some treat in the Flutter Game Toolkit.

This is the last major update we’re getting this year, and it’s all about making development faster and our project’s better. Let’s explore most notable new features of Flutter 3.16.

Engine

Impeller

The new rendering engine of Flutter, Impeller, is now available in preview mode for Android on the stable channel. This version introduces a Vulkan backend designed to enhance the performance of flutter apps on Vulkan-capable devices. The update shows significant improvements in frame rasterization times, leading to less jank and higher frame rates. However, Impeller is still not expected to work well on older devices that do not have Vulkan support. The Flutter team is still working on the backend for OpenGL so we will have to wait a little longer to see god performance on these types of devices.

You can now try Impeller on devices that support Vulkan by passing the “ — enable-impeller” flag to “flutter run” command or by adding the following section to the projects “AndroidManifest.xml” file under the “<application>” tag.

<meta-data
android:name="io.flutter.embedding.android.EnableImpeller"
android:value="true" />

Besides working on the Vulkan backend, the Flutter team has been working hard to improve text performance in Impeller for both Android and iOS. They’ve made changes that helps to manage text better and reduce slowdowns, especially in apps with lots of text. This has made these apps smoother and more responsive. The team has focused on fixing various issues and enhancing the overall quality and stability for users on both platforms. They have been very proactive, addressing a lot of user feedback and making numerous updates to improve the overall experience.

Material 3

Starting with the 3.10 releases in May 2023, Flutter’s Material library has been updated to align with the latest Material Design guidelines. This update includes new components, themes and refreshed visuals for existing components. Previously to use these updates, developers had to opt-in by setting a theme flag. But now, with this new release, the Material 3 visual style is the default setting on Flutter apps. If you prefer the older Material 2 version you can still opt-out of Material 3 by setting the “useMaterial3” property in your “MaterialApp” widget to “false”. However, it’s worth mentioning that Material 2 will eventually be deprecated. Some widgets in Material 3 are completely new implementations, so when upgrading, you might notice some changes in your app’s UI. To address this, you should manually migrate to the new widgets. Remember that Flutter also offers a demo application where you can experiment with all the Material 3 components and compare them with previous version. The look of Material 3 components is mainly defined by the color and text themes set in the app’s ThemeData. Developers can create a Material 3 color scheme easily with tools that generate pleasing and accessible color schemes, either from a base color or even from the dominant colors in an image.

Android and iOS improvements

There are exciting enhancements for both Android and iOS platforms in this Flutter update. On the Android side, a significant improvement has been made to the mouse scroll wheel support.

Before this update, using a mouse scroll wheel on Android tablets or foldables was a bit clunky, requiring considerable movement for any scrolling action on the screen. Now Flutter has enhanced this feature, ensuring that scrolling with a mouse feels more natural and matches the scroll speed typical on Android devices.

Another key update for Android is the introduction of predictive back navigation, a feature from Android 14. This feature allows users to use the back gesture on their device to quickly see the home screen behind the current screen. Flutter integration of this feature brings a more intuitive and consistent user experience, aligning with the latest Android functionalities. On the iOS front, Flutter has expanded its capabilities to include some iOS app extensions. This means that developers can now use Flutter widgets to design the UI for certain types of iOS app extensions. However this functionality is not universal across all types of app extensions, as some might have API limitations or memory restrictions.

Games

Flutter Games Toolkit

Flutter has seen a significant rise in its use for casual game development over the past few years. A large number of games, ranging from simple puzzles to complex arcade games, have been created using Flutter. To further support game developers, Flutter is now releasing a major update to its Flutter Casual Games Toolkit.

This update includes a variety of new resources aimed at helping developers progress from initial concepts to fully launched games. The toolkit now offers more genre-specific templates, such as those for card games and endless runner games, and integrates various services like Play games services, in-app purchase, ads, achievements, crashlytics and multiplayer support. learn more from games toolkit launch post.

Package ecosystem

New Flutter Favorite Packages

Flutter’s community and tools are always growing and changing, and with that the Flutter Favorite program has been refreshed and updated! This is an exciting time for developers as the Flutter Ecosystem Committee has recently recognized a selection of packages as new Flutter Favorites. This time, the Flutter Ecosystem Committee designated the flame, flutter_animate, flutter_rust_bridge, riverpod, video_player, macos_ui and fpdart packages as new Flutter Favorites.

Keep an eye out for future Flutter Favorites as this program continues to spotlight exceptional packages and plugins.

DevTools

DevTools extensions

Flutter’s DevTools has introduced a new extensions framework that offers several exciting possibilities. Now, package authors can create custom tools for their packages, which will show up directly in DevTool. They can also make use of existing DevTools frameworks and utilities to build powerful tools. For Dart and Flutter developers, this means they will have access to specialized tools that are tailored to their specific app development needs, based on app’s dependencies. Authors of popular packages like Provider, Drift, and Patrol, have started building this ecosystem, and you can use their DevTools extension right now.

Provider
Patrol
Drift

Learn more about DevTools extensions, check out the Dart and Flutter DevTools Extensions announcement.

In addition to these extensions, the latest DevTools release brings a bunch of improvements and new features.

Highlights include the addition of support for DevTools extensions and a new “Home” screen that offers a summery of your connected app. Other improvements focus on enhancing overall performance, the robustness of hot restarts, text selection and copying behavior, as well as polishing the network profiler response viewer.

These are just a few of the key updates in Flutter version 3.16. With Material 3 update almost fully implemented, and impeller showing great performance on iOS, looking forward to seeing how it perform on Android and other platforms. Meanwhile, the Flutter team is continuously working hard, adding new features and making performance enhancements.

To get started with these updates, all it takes is a “flutter upgrade”.

Thank you!

--

--

Yogita Kumar
Yogita Kumar

Written by Yogita Kumar

Google Developer Expert Flutter| Cloud Enthusiast | Full Stack Developer | .NET Developer |Coach and Trainer

No responses yet