Flutter 3.10 adds Material 3 and Impeller — and better performance — for cross-platform development
Flutter 3.10, released at Google I/O 2023, features updates to Dart, and cross-platform app performance and UI design.
5 min. read - June 28, 2023
If you frequent our blog, you probably know we’re big Flutter fans. Our Flutter development team started using it in 2019, and it is our go-to for creating apps with a single codebase that works across mobile, connected devices, and even desktops.
So, we eagerly anticipated the release of Flutter 3.10, which Google unveiled at its recent I/O 2023 developers conference. And, from what we’ve seen so far, the new release hasn’t disappointed. With updates to the Material Design system, the programming language Dart, and the Impeller rendering engine, Google has made it easier than ever to create a native app experience for iOS and Android faster and more efficiently.
In this post, we dig into the updates and share our perspective on the most important new features for companies and their app development teams.
Mobile updates
For iOS development, wireless debugging is among Flutter’s most compelling new features for top developers like us. Developers can now hot reload/restart their Flutter Apps without a cable — which is a huge time-saver. Also, Cupertino animations, transitions, and colors are getting visually closer to their native iOS counterparts, making a cross-platform app feel more familiar for iPhone users.
For Android development, the Flutter team added Camera X preliminary support. To use it, you just add a dependency on the pubspec.yaml
, like this:
1
2
3
Camera X is a Jetpack library aiming to make Android development easier and more streamlined. This first release includes image capture, video recording, and live camera preview capabilities.
Material 3 support
Material Design is the design system created by Google for Android, Web, and Flutter. The third version includes improved system-level user personalization and more accessibility features.
Material 3 is now available if opted-in using MaterialApp(useMaterial3: true)—
and is enabled by default on Flutter’s next version. The Material 3 team updated UI components, including DatePickers, TimePickers, and BottomSheets. The release adds new components, such as secondary TabBars, offering a second tier of tabbed contents, and the pair SearchBar and SearchAnchors, which provide predictive text for search queries.
Last, it’s worth noting the time-saving addition of ColorScheme.fromImageProvider()
. Before, we had to add all colors to a theme manually. We can more easily add a color scheme from a single “seed” color or directly from an image.
Flutter’s new engine: Impeller
The Flutter team had a very clever plan to ensure multi-platform apps were high-performance: Use a game-like rendering engine. They originally chose Skia, an existing product, but the performance didn’t meet expectations in some situations. That’s why Google created Impeller, built especially for Flutter.
This new rendering engine includes shader precompiling (instead of Skia’s runtime shader compilation) and tessellation. Impeller is now available and enabled by default for iOS and in preview for Android.
If you want to try Impeller’s preview on Android, you can perform the following, but be aware that preview builds are not production-ready:
Pass
–enable-impeller
to the Flutter run command:
1
Add the following tag to your
AndroidManifest.xml
file under theapplication
tag:
1
2
3
Dart hits the target
Flutter’s programming language Dart got some notable upgrades too:
The language is now more expressive with the addition of records, patterns, and access controls.
It adds class modifiers, including
interface class
,base class
,final class
,mixin class
, andsealed class
.Platform integration improves with
FFI for Objective-C and Swift
(iOS) andFFI for JNI
(Android). These changes allow developers to call native code directly from Dart (althoughjni/jnigen
is still experimental and not production-ready).And one of the best updates on Dart: The language’s type system is now 100% sound null safe — i.e., it’s safer to use and less error-prone.
Flutter 3.10 FTW
We’re excited about this latest release and look forward to working with it on our cross-platform app development projects for clients. If you’d like to learn more about Flutter and the recent improvements, see these resources:
VIDEO: Google I/O 2023 — What’s new on Dart and Flutter (Source: Flutter YouTube channel)
BLOG: What’s new in Flutter 3.10 (Source: Flutter development team)
BLOG: What’s new in Dart 3.x (Source: Flutter development team)
WEBPAGE: Android Jetpack (Source: Android development team)
WEBPAGE: Jetpack’s CameraX (Source: Android development team)
Need help with your cross-platform app project?
Since the dawn of the App Store, ArcTouch has helped companies of all sizes build lovable apps and digital products. Our cross-platform app development team are Xamarin/MAUI, React, and Flutter experts. Contact us and let’s build something lovable together.
Article Author:
Subscribe for more insights
Get our newsletter in your inbox.
Contact us.
Let's build something lovable. Together.
We help companies of all sizes build lovable apps, websites, and connected experiences.