What’s new in Flutter 3
It’s only three months since the last update, yet Flutter 3 is here with latest features and Updates. Flutter helps developers to build apps for various platforms flawlessly. This technology never stops updating and bringing in adaptations. More than 5200 requests and contributions from developers worldwide have brought a stable platform for development. With this update, Flutter is now stable for macOS and Linux in addition to Windows. Also, there will no longer be support for older versions of Windows.
Production on Desktop Platforms
‘PlatformMenuBar’ widget is in Flutter 3 for macOS to create platform-rendered menu bars that support the insertion of platform-only menus. It will give you control over what appears in the macOS application menus. Also, Flutter 3 enables macOS desktop apps built as universal binaries with native support for Intel-based Mac and Apple’s latest Apple Silicon devices.
This update also focuses on International languages. Text inputs fully support languages such as Chinese, Japanese, and Korean on all three platforms, including third-party input methods such as GoogleJapanese Input.
Flutter 3 recommends Windows users move to the latest versions as well. However, they aren’t blocking the development on older versions but limiting the testing on the older versions such as Windows 7, 8, and 8.1.
Mobile Updates
Flutter 3 brings support for foldable devices. In a collaboration spearheaded by Microsoft, developers can use new widgets that will allow them to create dynamic and delightful experiences on foldable devices.
‘MediaQuery’ will now contain a list of ‘DisplayFeatures’ to describe the bounds and states of device elements like hinges, folds, and cutouts. ‘DisplayFeatureSubScreen’ widget can automatically position the child widget without overlapping the bounds of ‘DisplayFeatures’. Developers will find these features in Flutter 3, making it aware of the elements out of the box.
Flutter now supports different refresh rates on iOS. Flutter apps can render at refresh rates reaching 120 Hz, which were limited to 60 Hz earlier, including iPhone 13 and iPad Pro. It will result in smoother scrolling and animations. You will find a new option to the flutter build ipa command to directly release your iOS app. Set your initial Xcode project settings, such as display name and icon, and you no longer need to open Xcode to release your app.
Web Updates
Flutter web detects browsers that support ImageDecoder API and use it. This new API is in almost every chromium-based web browser and decodes images asynchronously off the main thread using the browser’s built-in image codecs. It speeds up the decoding speed up to two times, and it never blocks the main thread. This way, it also removes all the jank that was previously there because of images.
Flutter 3 introduces a new lifecycle API that gives you the flexibility to control the bootstrap process of your flutter app, from hosting the HTML page and helping Lighthouse analyse the performance of your app.
Performance Improvements
You can see improved performance of opacity animations in simple cases. When an ‘opacity’ widget containing a single rendering primitive gets built, ‘saveLayer’ is usually invoked, which is no longer there.
The previous versions support raster cache to look up for the number of draw operations, which results in the Engine spending memory on caching images that are actually fast to render. This release brings a new mechanism to estimate the rendering complexity of pictures based on the cost of draw operations that contain it.
Flutter 3 introduces Impeller for iOS, which precompiles a smaller set of shaders so that it won’t compile while an app is running, which was a prime reason for jank in Flutter. Some features will be there in Impeller later, but even now, if we consider the worst-case scenario, the worst frame in the transition animation is 20 times faster.
Other Updates
Flutter started using Material 3 already, and now the update gives dynamic colours with an updated colour system and typography. There are significant updates to the components related to Android 12, such as touch ripple design and a stretch overscroll effect.
This update brings some exciting improvements for ads. For Inline ads on Androids, the “google_mobile_ads’ package will provide better performance while scrolling and transitioning between pages. To provide better support for personalised ads and Apple’s App Tracking Transparency (ATT) requirements, Google will provide User Messaging Platform SDK. In future, more additions will be there for better support for new devices in the market.
The Flutter team at Google has made significant improvements in this update. Whether it is removing deprecated API or replacing page transitions with ZoomPageTransitionsBuilder, Flutter 3 with Latest Features and Updates will make a big splash in the market. This update considers creating apps that will be a delightful experience for both developer and user.