Flutter 1.20.0, another version of Flutter, is set and available on its stable channel to make developers more productive. Sources say it is the biggest release of Flutter until now that has resolved 5485 issues and merged 3029 pull requests. To everyone’s surprise, Flutter 1.20 release had 359 contributors from across the world, among which 270 were from the Flutter community. The number has hit the largest number of contributors Flutter ever had.
Not only improvements but Flutter has also brought several exciting new features after working on most common requests. Yes, including autofill for iOS and Android, which has been long-awaited support from Flutter developers. Except for this, there are a few more new things that will boost developers’ productivity. For that, you need to read until the end.
Cautious: We do not beat around the bush. You will get to know here what is meant to be known.
So, ready to drive through new Flutter 1.20 features and performance enhancement crisply and concisely?
In the Flutter 1.20 release notes, they have updated text autofill to support one of the highly demanded features. Now you do not need to ask your users to fill the data again that the OS has already collected. It is in the basic state as of now, but it will be updated soon by the new releases. The text autofill feature is also brought for web apps, as well.
New feature Interactive Viewer
Another new feature in Flutter 1.20 is a new widget, Interactive Viewer. The widget will help you to drag and drop, panning, and zooming while designing interactive elements for your app. The feature takes boundary margin, minScale, maxScale, and any kind of child property on which transformation is performed. Put your cursor on the property, and there you go, you can drag and drop, zoom in and out using the cursor. Check out how simple it is to integrate and use the InteractiveViewer Class.
Whole new package pigeon
Do you know MethodChannel used for generating code and communicating with the host platform in a structured typesafe manner? Pigeon is a profound alternative to it. It is a command-line tool that eliminates the additional runtime dependencies to match strings between host and Flutter using Dart syntax to generate a type-safe messaging code.
In other terms, it is a handy feature for developers who use platform channels a lot. It generates the required code to communicate with the host platform, let’s say Android or iOS and excludes concerns of matching strings and specifying things. Despite being prerelease, Pigeon works pretty well that you can see here video_player plugin. It supports java for android and objective c for iOS, kotlin and swift is in consideration.
New pubspec format
The legacy power pubspec format pubspec.yaml has been removed in Flutter 1.20. So, now you have to adopt the new pubspec.yaml format to update or publish any new plugins. The new format particularly specifies which Flutter version the package supports. And, Flutter version before Flutter 1.12 does not support the flutter plugin platform map.
However, for plugin clients and existing plugins on pub.dev using the legacy format will continue working for the foreseeable future.
Mouse Cursor Support
Announcing Flutter 1.20 mentioned many features that were most upvoted to integrate, and mouse cursor support for the desktop is one of them. So, they have upgraded the support for mouse cursor in a new Flutter release that saves tons of time. Now you will get better, faster, and stronger hit testing using your mouse cursor, bingo!
Material Widget update
They have updated a handful of things with UI enhancements to let you create adorable apps and meet the latest Material guidelines. The range slider and material slider, and the date and time picker, have been updated with new designs. Couples of tweaks are there, such as text scale, slow motion, dark mode, that can be customized.
Another significant update in Flutter 1.20 release is for developers creating Flutter tooling. They have released a complete catalog of metadata for a total of 395 widgets. For each widget, there are parents, libraries, and descriptions available in the Catalog and one icon metadata for Material and Cupertino icons. The icon metadata includes color mapping, values of the color and icon names, and previews as well.
Devtools available in VSCode
It is purely good news now that you can access Dart DevTools in the Visual Studio Code rather than opening it in a new window. In Google’s Flutter 1.20 framework, you can enable the Visual Studio Code extension with the dart.previewEmbeddedDevTools settings.
Auto Import Change in VSCode
Another handy feature or we can say improvement is support for auto import changes in the Visual Studio Code. It means when you change the location of your file from one to another folder; then the import will automatically be changed.
Tree Shaking of Icon fonts
Another tooling performance improvement in Google’s Flutter 1.20 framework is fixing an icon font tree shaking. Now, the font tree shaking has become the default behavior in mobile apps when you’re doing a release build. It will remove the icons that are not in use in the app and thereby reduce the app size and latency.
With every Flutter stable release, Google is making sure to upgrade its supreme programming language as well. In fact, Flutter 1.20 is built on Dart 2.9, which has also been quite improved. Google has enhanced the decoding speed in Dart 2.9 of UTF-8, widely used for its capability to decode quickly.
As they mentioned in the release note, they have measured improvements nearly 200% for English texts to 400% for Chinese texts on low-end ARM devices in their UTF-8 decoding benchmarks.
Several other notable things:
Flutter developers have reduced the shader compilation jank on mobile devices using the warm-up phase. Flutter 1.20 provides the command-line tool for developers to collect shaders in the SkSL- SKia Shader Language. The SkSL get pre-compiled provides the shaders when an end-user first opens up the app and thereby reduces the compilation jank in later animations.
Google has partnered with Canonical to bring Flutter apps to Linux is one of the significant announcements.
Flutter developers declared they are working on null safety support and a whole new version of Ads, WebView, Maps plugins, and other useful plugins.
In the last release, which was Flutter 1.17, they claimed 50000 apps on Google Play, which has risen to 90000 by this release. They have also mentioned that many apps have been developed in India, and the country has significant Flutter developers to hire.
There are too many enhancements and updates to elaborate in a single blog, so we mentioned top-notch and most awaited ones. Kody Technolab is one of the top Flutter App Development companies, so we comprehend the excitement of using such a prolific update so far. And cannot wait to leverage the performance enhancement, tooling advancement with updated widgets in Flutter 1.20.0.
Principal Mobile App Developer