Google has released version 3.13 of its open-source cross-platform framework Flutter, which received 724 pull requests. The new minor version 3.1 of the programming language Dart is also included in the release with minor changes. Flutter 3.13 continues work on the introduction of Material Design 3 and will standardize the design system in the next stable release – this affects the colors, text styles and other visual elements in applications. Flutter also increases rendering performance and enables two-dimensional scrolling.
Advertisement
Faster rendering on iOS initially
Impeller is Flutter’s new graphics rendering engine, succeeding Skia. Activated by default in iOS since the last release, Impeller is now available as a preview for macOS and has not yet reached preview status for Android, but can be activated there as an option.
In Flutter 3.13, the development team rolled out more performance updates on iOS. The renderer should now score with a lower latency as well as a higher average throughput in some benchmarks. In particular, the “Flutter Gallery Transitions Performance” benchmark is said to now have an average frame rasterization time of around half that of Skia.
The Flutter team shows this using the benchmark on an iPhone 11:
On the goals of the new rendering engine What counts is delivering predictable performance, for example by compiling all shaders and reflections offline at build time. Impeller is also portable, as Flutter doesn’t bind it to a specific client rendering API, and leverages features from modern APIs like Metal and Vulkan without depending on them.
Two-dimensional and diagonal scrolling
Advertisement
Flutter now provides the basis for creating widgets that scroll in two dimensions. With that go some new classes like TwoDimensionalChildDelegate
and the abstract base class TwoDimensionalScrollView
along. This also opens up the possibility of scrolling diagonally.
The Flutter team shows an example of a two-dimensional grid using lazy loading in around 200 lines of code, implemented in the online dart editor DartPad. It can be scrolled horizontally, vertically and diagonally.
Focused on the future
Android API levels 16, 17, and 18 are deprecated in Flutter 3.13. The current API level 34 for the upcoming Android 14 can already be used in Flutter. In preparation for iOS 17 and Xcode 15, developers should use Flutter 3.13. According to the Flutter team, when downloading Xcode 15, make sure to also download the iOS 17 simulator.
All other details about the new Flutter version has a detailed blog entry ready.
Dart 3.1 restrained with innovations
As the Dart development team explains, the first stable release since the main version 3.0 in May 2023 only brings minor innovations and few API changes. These affect the class modifiers introduced in version 3.0. The main focus in Dart 3.1 is to transition new roadmap items to beta or stable status within the upcoming releases. Therefore, the blog entry for the announcement does not refer to new dart features, but discusses functional-style programming in Dart. If you want to find out about the changes in Dart 3.1, can review the changelog.
(May)