Google’s Flutter 1.17 and Dart 2.8 Stable SDKs Is Out Now
May 21, 2020
Article Overview
10min readGoogle is out with a new version of Flutter 1.17 and Dart 2.8 SDK’s. Marked as the first stable releases of Flutter and Dart in 2020, the cross-platform programming framework now offers a better user interface (UI) framework for building iOS, Android, Fuchsia, and desktop apps.
Flutter 1.17
On 6th May 2020, Chris Sells, product manager of Flutter developer experience announces their first stable release of 2020 – Flutter 1.17.
As Google’s cross-platform programming framework for developing apps has gained popularity recently, Flutter helps developers build apps for Android, iOS, web, and desktop with an integrated UI. Intended to resolve the woes of developing cross-platform apps without the mess of non-native code, this Google release is full of fixes, closing 6,339 issues since their previous Flutter 1.12 stable release. The new release also has bunged more bugs than that may have been opened this year, prompting a net decline of ~800 issues.
However, besides bug fixing, the major improvement in Flutter 1.17 is performance. The new version brings:
- Significant Performance Improvements: One of the main focus of Flutter 1.17 is performance and memory improvements, that is, by upgrading your app to this latest release, your users will be able to see faster animations, smaller apps, and lesser memory utilization. Developers who build apps with the latest version of Flutter can see 20-37% of speedup for default navigation cases in which there are opaque routes with no transparency. Also, with this version there’s a significant improvement in app sizes. On the memory usage area, the 1.17 version offers 70% memory reduction in fast scrolling through large images.
- Improved Metal Support For Faster iOS Performance: Metal, the Apple’s low-level graphics Application Programming Interface (API) provides nearly direct access to the underlying GPU of iOS devices. On metal-supported iOS devices, Flutter now uses it by default, making one’s Flutter apps run faster. Depending on your workload, the new release also increases rendering speeds by about 50% on average. Flutter uses OpenGL, if the device does not fully support Metal ( those devices with iOS versions lower than 10 and released before the A7 processor).
- New Material Components: The new version of Flutter adds support for new Material components and also updates for existing widgets like NavigationRail, DataPicker, and TextSelection. The NavigationRail helps developers to insert responsive app navigation models to apps. It is great for apps that can switch between mobile and desktop form factors. The DatePicker’s new visuals match the updated Material guidelines and also append a new text input mode, while TextSelection now has better reliability for iOS and Android when buttons are longer than can be displayed without overflowing. And finally, Google is also delivering the new Animations Package that provides pre-built animations employing the new Material motion specification.
- Google Fonts For Flutter: Google Fonts for Flutter v1.0 is now available that lets developers experiment with and use any font from fonts.google.com in their app.
- Accessibility: The new Flutter release has enhanced the accessibility of Flutter apps with fixes to scrolling, text fields, and other input widgets.
Flutter provides an insightful, flexible API that can support new idioms on new platforms.
Dart 2.8
Michael Thomsen, the product manager working on Dart and Flutter, announces a new release of the Dart SDK, version 2.8 on 6th May 2020.
Dart is the programming language – a C-style language – used for building apps in Flutter. Dart community witnesses a remarkable growth with millions of Flutter developers using Dart as their client-optimized language for building fast apps on any platform. To make Dart an even more optimized language for building fast and steady UI’s, Google is introducing a couple of changes with the release of the Dart 2.8 SDK.
The changes are:
1. Pub client tool which is used to manage packages downloaded from pub.dev repository has been improved by Google. It is done by:
- Adding support for parallel fetching of packages and rescheduling pub run precompilation.
- Adding a new tool (pub outdated) for confirming package dependencies that are kept up-to-date.
2. An addition of preparation for Sound Null Safety. This feature helps in addressing the “billion-dollar mistake” of null references by reducing the application crashes built with Flutter. Google is planning to append support for Sound Null Safety in Dart, which will –
- Ensure all variables expressed hold non-null values.
- And will initially cause breaks in the Dart language and libraries. Google wants developers to be conscious of these breaches and file any issues on their issue tracker.
With the stable Dart 2.8 SDK and Flutter 1.17 SDK, check upon the performance improvements, breaking changes, and new pub outdated commands.