The New Flutter 3.3
Google has announced the release of Flutter latest version: 3.3.0, and version 2.18 of Flutter’s language Dart. Both releases are refinements without significant new features.
We had already covered the major highlights of the Flutter 3.0 release here.
In this blog, we will discuss some major highlights of the Flutter 3.3 release, So let’s dive in.
Impeller: our new graphics engine
Aside from the improvements in 3.3 itself, the team has been hard at work on Impeller, our next-generation rendering layer.
Impeller is a significant rewrite of a core part of the Flutter engine, replacing the previous Skia code with a custom runtime that takes full advantage of modern hardware-accelerated graphics APIs such as Metal on iOS and Vulkan on Android. It delivers silky-smooth animations, considerably raising the bar for what applications can expect from a multiplatform UI toolkit. The difference is visceral, and apps that use Impeller can expect to be able to push boundaries further than before while staying locked to 60Hz or faster refresh rates. Most notably, Impeller totally eradicates the need for runtime shader compilation, which is a common source of frame rate ‘jank’ for apps today.
Global Selection Made Easy
With a single sliding gesture, users can now select entire data in the web apps. For this, the developers need to wrap the widgets with “SelectableArea” widget.
This new update for global selection provides a rich user experience, and smooth control, under the Flutter 3.3 update.
Wonderous: a new reference app
In partnership with the design team at gskinner, today we’re launching Wonderous, an app built to showcase Flutter’s capacity to deliver high-end, beautiful experiences without caveats. Even as it shows off the power of Flutter, we built Wonderous together to be a beautiful app in its own right. From the stunning Taj Mahal in the Indian city of Agra to the Mayan ruins of Chichén Itzá on the Yucatán peninsula of Mexico, Wonderous brings some of the most remarkable places in the world to your phone, using video and imagery to explore the intersection of art, history, and culture.
Changes to material design
Flutter 3.3 brings along some exciting new changes in the material design protocols, especially for chips , appbar & IconButton.
Once the developer opts for “useMaterial3”, these new changes in the material design can be used for the design. Hence, these new material design changes are not default as of now.
Flutter team has just made UI more exciting, engaging, and fun-filled, with the support for scribble as default.
Developers need to select “CupertinoTextField”, “TextField” & “EditableText” for using scribble right into the main UI.
Updates In Navigation API
“go_Router” is an in-built navigation package under Flutter, which has now received a new update under Flutter 3.3 version.
A new declarative approach has been added for this highly useful package, which makes access to navigation seamlessly across mobile, desktop, and web. “go_Router” can now explore deep links, and can be redirected via asynchronous code.
VS Code extension enhancements
The Visual Studio Code extension for Flutter has several updates including improvements for adding dependencies. You can now add multiple, comma-separated dependencies in one step using Dart: Add Dependency.
Flutter DevTools updates
DevTools comes with a number of updates since the last stable Flutter release, including UX and performance improvements to data display tables for faster, less jittery scrolling of large lists of events
Raster cache improvements
This release increases the performance of loading images from assets by eliminating copies and reducing Dart garbage collection (GC) pressure. Previously, when loading asset images, the
ImageProvider API required the compressed data to be copied multiple times. First, it was copied into the native heap when opening the asset and exposing it to Dart as a typed data array. Then, it was copied a second time when that typed data array was copied to the internal storage of a
With the addition of
ui.ImmutableBuffer.fromAsset, compressed image bytes can be loaded directly into the structure used for decoding.
What’s New In Dart 2.18
Dart may stop supporting Dart versions without null safety by mid-2023.
Dart includes a multi-platform HTTP library. It offers experimental support for two platform-specific libraries. The first one is
cupertino_http for iOS and macOS. It uses Apple’s
NSURLSession for features such as WiFi-only networking or VPN access. The second library is
cronet_http for Android, building upon the popular Cronet library.
Check out other Flutter Blogs. Thanks for Reading.