Flutter, Google’s open-source, multi-platform application framework, has gained much momentum in recent years. The company announced over 500,000 public Flutter-based apps in mid-2022, which has now surpassed 1 million. At last year’s Google I/O, Flutter hit the 3.0 milestone, and this year, Google announced version 3.10, with many new features for the project.
The biggest improvement in Flutter 3.10 is the new rendering engine, Impeller, which is now enabled by default on iOS. This new engine enables breakthrough performance improvements for Flutter apps. Developers can simply update the Flutter SDK to take advantage of Impeller in their app and see the difference.
Version 3.10 also makes it easier for developers to integrate Flutter components into their web apps. Google has been working on this for a while. Now, developers can use Flutter’s element embedding feature to integrate Flutter components like any other CSS element and manipulate them like any other CSS element.
Google is currently focused on making Impeller available on Android as well, but the process is more challenging because there are still devices that don’t support the required Vulkan graphics API. Flutter promises to support a “backwards compatibility mode” for these devices, but full Impeller support for Android should be available for preview soon.
Flutter on the Web also got a big revamp in this latest release, with a 42% reduction in load times “when using cable connection simulation” due to a smaller size of the underlying CanvasKit and better font usage.
Meanwhile, Google is working to support Dart (and other garbage collection languages) to WebAssembly. When completed, Flutter apps have the potential to be more efficient than ever, with Google saying it will deliver “up to 3x performance in execution speed.” Developers can test their app with Flutter’s WebAssembly support and give feedback.
Another significant change in Flutter 3.10 is the introduction of version 3.0 of the programming language Dart. With this upgrade, all Dart code must be written with sanity null-safety to ensure that the app’s code does not return null values unexpectedly. Google has long been working with the Dart community to improve null safety, and in Dart 3.0, null safety is now mandatory.
Dart 3 also includes some new features to make code more readable. For example, ‘record’ allows the function to return multiple values instead of just one, and ‘pattern’ allows data to be easily validated before use.