Google Announced Flutter 1.17 and Dart 2.8, the First Stable Release of 2020
- by Dhruv Mevada
- 8 minutes read
- 6.8k Views
This has been a challenging year for everybody. Google I/O is no more happening in 2020. The organization aimed to release on a roughly quarterly measure. However, by this time, many organizations planned announcements, particularly for developers.
And this year’s first stable update of Flutter, Google’s cross-platform app development framework has been launched on May 6, 2020. Nevertheless, this release of Flutter SDK Version 1.17 took a little longer because the organization has been retooling its infrastructure for a new launching procedure.
Google has also launched Dart Programming language’s version 2.8 alongside Flutter 1.17. As per Google, these two new releases will boost their capacity to service the stable branch with premium hotfixes.
What’s New in Flutter 1.17?
Last month, Google had declared a few changes to its release procedure. Since the organization’s previous procedure lacked clarity on when releases would be made, what code should be in it and more, it plans for shipping stable releases on a roughly quarterly cadence.
With the release of Flutter 1.17, Google has closed 6,339 issues regarding its past Flutter 1.12 release and they have closed more bugs than they have opened in 2020, causing a total reduction of more than 800 problems.
Alongside bug fixes, Flutter 1.17 comes with enhanced assistance for Metal on iOS, big performance improvements, and incorporates new Material widgets.
1. Metal Support for iOS Apps
Metal is the low-level graphics API of Apple. The release of Flutter 1.17 uses Apple’s Metal API to access the GPU of iOS devices by default rather than OpenGL. This makes Flutter apps run faster and enables quicker Flutter applications on iPads and iPhones that support Metal.
The enhanced Metal support boosts execution speeds of iOS apps up to almost 50% on average, based on the workload. Nevertheless, iOS devices that have processors below the A7 chip or those running older iOS versions which do not support Metal fully, Flutter recedes to OpenGL.
2. Support for New Material Widgets
Flutter 1.17 also brings more of Google’s Material Design. This adds support for new material widgets and brings updates to existing ones. For example, this project has added NavigationRail to this release, which provides support to Flutter developers for adding responsive app navigation models to applications.
It provides a navigation widget designed by the Material Design team that is shown on the right or left of an application. NavigationRail is amazing for apps that swap between desktop and mobile form factors because it is easy to switch in for a BottomNavigator as the screen size of an app increases.
Moreover, TextSelection overflow and DatePicker widgets have been updated. New visuals of DatePicker match the guidelines of the updated Material and come with a new text input mode, whereas presently TextSelection has enhanced fidelity for Android and iOS when buttons are longer than their display with no overflow.
Flutter Text Theming is also getting influenced by Material Design. In this release, the TextTheme API has been updated for matching the existing Material specifications; however, it maintains the previous names so the code of developers does not break. The earlier names have been disfavored, so developers will be warned for accepting new names.
3. Mobile Performance and Size Enhancements
The main focus of this release has worked continuously on memory and performance enhancements. If you upgrade your app to this release, your users will experience smaller apps, quicker animations, and lower memory usage.
You will encounter 20 to 37% acceleration for the default navigation case in this release. Moreover, you will find almost 40% abatement in CPU or GPU utilization for normal iOS animations, based on the hardware.
Furthermore, this release offers a significant improvement in app size because of the many fixes that yield a great result. For instance, Flutter Gallery Sample for Android is now 8.1MB, which was 9.6MB at the end of 2019. This implies 18.5% abatement.
This release also brings 70% memory reduction in quick scrolling through large photos, which can yield performance improvement, based on the quantity of the device’s memory.
4. Google Fonts for Flutter
Text and fonts are closely associated. Hence, if you are excited about the application of the new Material Text Scale, then you will surely be excited about the all-new Google fonts for Flutter v1.0 as well.
Google Fonts enable developers to experiment easily with and utilize any font from fonts.google.com in their application. When they prepare the app for publishing, they decide whether the font is pre-packed with the app package or the user gets it by downloading from the API.
5. Internationalization and Accessibility Fixes
Since accessibility is a vital area of focus, the Flutter apps are available to as much audience as possible. This release has brought accessibility fixes for text fields, scrolling, and other input widgets.
Google has also been working on some problems impacting Samsung Keyboard IMEs that impacted text input in different East Asian languages. Google has completed it and Korean developers will be happier for this release.
6. Dart DevTools Port to Flutter
Google is getting ready for switching out the present version of Dart DevTools with the new Flutter 1.17. By starting DevTools and selecting the ‘beaker’ icon in the topmost right corner of DevTools, Developers can test this new version.
The new Network tab is the biggest enhancement in the new Flutter version of Dart DevTools, which displays the network traffic for a Flutter app if you click the ‘Record’ button.
This release also adds support for an experimental ‘Fast Start’ option that allows you to start debugging up your Flutter app up to 70% quicker when you are developing an Android app.
7. MGM and Superformula: Customer Shoutout
Flutter offers an amazing app experience. Superformula is an online organization that does great things. Recently it has worked with MGM Resorts for providing a big update to their mobile app, by rebuilding it in Flutter. Since Flutter’s addition has unlocked extra flexibility and speed, it has offered them a great value for both their customers and their users.
Superformula and MGM made a new MGM design language for all prime kiosk, mobile, and web experiences. Using the new Flutter codebases, they could rebuild the app and shipped to both app stores quicker than they could before yielding 9% increase in MGM’s booking conversions.
What’s New in Dart 2.8?
With the release of Dart 2.8, Google is launching a few changes:
1. Improvements to the Pub Tool
In this release, maximum enhancements are focused on the pub client tool used by both Flutter and Dart for handling app packages. Dart SDK 2.8 enhances the Pub tool for the pub.dev package repository using a new ‘pub outdated’ tool to make sure to keep package dependencies updated, without complying with your present version constraints.
Moreover, the team has made the pub run considerably quicker by downloading several packages at the same time.
2. Support for Null Safety
Google is preparing for Sound Null Safety in Dart that will make sure that every variable expressed hold non-null value. Null references are a basic source of app crashes that occur when code attempts to read variables having null values.
Executing Sound Null Safety is a big undertaking that will lead to breaking changes to the Dart language and libraries. Google wants to make developers aware of such changes and file every problem on their issue tracker.
With all the capacity and power that Flutter and Dart offer, you are on a good path to build great apps. So, what will you build?