Two months after the release of Flutter v1.20, Google released the Flutter v1.22. Flutter is Google’s cross-platform UI toolkit. This particular version focuses on bringing extensive support for Android 11 and iOS 14, due to the release of these new mobile operating systems. Flutter’s releases new versions that package the latest features, improvements on performance, bug fixes, and can be used for broad production.
According to Google’s Chris Sells, ‘Even in that short time, we closed 3,024 issues and merged 1,944 PRs from 197 contributors. Of those contributors, 114 (58%) of them were from the community-at-large and they contributed 271 PRs. The largest single contributor was a14n, who makes our top contributor list again with 20 PRs, most of which were done as part of the work to support null safety in Flutter (more on that coming soon).’
Focusing on iOS 14
If iOS14 is one of your target mobile OS for your app, it is strongly advised to build it with Flutter v.1.22 instead of 1.20 because of how this version targets iOS 14 and allows you to actually take advantage of iOS 14 features. Following are some changes that have been made to Flutter v.1.22 in regard to iOS 14:
- Xcode 12 requires iOS 9.0 or up, hence the default template increases its default from 8.0 to 9.0
- Font rendering and specific crashes in iOS14 have been fixed
- No more problems deploying to any physical devices
- A restriction disables running debug apps on iOS 14 devices except as part of the debugging process
- It now has a new policy focusing on network security for locally debugged Flutter apps that now causes iOS 14 to show a one-time confirmation dialog
- This version also updates iOS’s new SF Symbols font
- Another exciting feature for iOS14 on Flutter 1.22 is App Clips. This supports a quick and installation free app execution of lightweight versions of apps under 10MB.
Focusing on Android 11
As Android 11 releases this month, this version of Flutter has been engineered to support the new features of Android 11.
- To begin with, Flutter now supports baring the safe insets of Android marks, cutouts and edges of waterfall displays.
- According to Google, By using the MediaQuery and SafeArea APIs, you can ensure that you’re placing active UI and interactive elements in the non-obstructed regions of the device’s display. Also, you’ll want to avoid gesture detectors in the waterfall edge area that may be prone to accidental touches.
- Another long-standing problem on Flutter and Android has been the system keyboard showing and/or hiding animation that isn’t synchronized with Flutter’s inset. This is now synchronized with Android 11.
- Google is now deprecating the older v1 APIs, starting in this version.
The button universe
Flutter v1.22 has announced a brand-new universe of buttons that introduces new replacement button widgets and themes instead of trying to customize to evolve the existing buttons.
New internationalization and localization support
This version enables hot reload support to update your app as you add new l10n (localization) or i18n (internationalization) information. This version now includes localized messages, dates, messages with parameters, currencies and numbers. It is also noteworthy that characters package is available by default in projects wherever Flutter is, and one does not need to add it manually.
Google Maps and WebView plugins ready for production
This version has finalized the framework plumbing required to officially announce that the Google Maps and WebView plugin are production ready. According to Google, ‘In Flutter 1.22, we’ve added an alternative Platform Views implementation that fixes all known keyboard, and accessibility issues for Android views.
Also, it works with Android API level 19 and above (it used to require level 20). We have also made threading improvements on iOS that make platform views more efficient and more robust (and no longer requires you to add the io.flutter.embedded_views_preview flag to your iOS Info.plist).’
Another big feature to look forward to, with Flutter 1.22 is “state restoration” for Android, or simply put Flutter App can automatically close in the background and resumed from where you left, without losing your place.
Flutter 1.22 also has a bunch of other fixes and improvements in the planning, such as a new navigator, and all the upgrades of Dart 2.10.