On December 11, 2019, Flutter Interact has come up with its newest stable version Flutter 1.12 as a pre-Christmas gift for Flutter lovers. Developers prefer Flutter for its smart, exclusive features and the latest Flutter 1.12 boasts some more proficient functionality and features.
Since its Flutter 1.0 version released in December 2018, Google Flutter has been developing and by now, it has made a total of 5 stable releases.
The developers have sustained their level in Flutter 1.12 as they wanted to make this release a big success and contributed a lot of effort.
Till now, the Flutter development team closed almost 5303 problems and merged 5970 Pull Requests from around 484 contributors.
Moreover, they included extraordinary functionalities and features in the Flutter framework, incorporating the support for Game Controller and Android App Bundles, and the launch of RangeSlider control feature.
Also, from event highlights, Flutter for web goes for the beta, support for Adobe XD, MacOS to Flutter plugin for supernova, designer, and a lot more has declared in the Flutter Interactive event.
The development team pitched new improvements and features in Flutter with the prime focus on the concept of Ambient Computing.
Before revealing what’s new in the Flutter 1.12 version, let’s talk about what Ambient Computing is:
What is Ambient Computing?
Since we interact with numerous internet-connected gadgets daily, the Flutter development team has come up with an ambiance that makes every service accessible across all the devices. They moved to Ambient Computing from the concept of ‘Write Once, Run Anywhere’.
Ambient Computing is known as the collective gadgets that can be considered the extension of one another for offering a completely smooth experience.
With this thought, the developers won’t require deciding which gadget to aim before going with Flutter app development.
They will be capable of building user experiences that match with all platforms and devices – whether it’s a desktop, mobile, embedded device, smart homes, or smartwatches.
What’s New in Flutter 1.12 Version?
Now when you know what Ambient Computing is, let’s explore the latest features in Flutter 1.12:
1. Release of Dart 2.7
This Flutter stable version brings the headmost change, i.e. the introduction of Dart 2.7.
The update of this programming language will enhance the experience of functioning with Dart 2.5, in the way of Safe string handling abilities and Extension processes.
It will help developers prevent errors when variables get a zero value and parse integers in a string.
2. macOS Desktop Support
Assistance for macOS desktop switches from a technical preview to alpha. Now you can build a Flutter project that runs on macOS using ‘Flutter Create’.
Desktop app support gets many improvements, incorporating menu dropdown keyboard navigation, visual density assistance, radio buttons, checkboxes, and so forth.
Advancements on Linux and Windows support are still in progress in the tech preview stage.
3. Beta Web Support
One of the big Flutter 1.5 highlights, Flutter for web, also got an upgrade in Flutter 1.12.
The web assistance of Flutter reached the beta version, making it simpler for developers to apply a Dart compiler and the Flutter platform efficiently.
4. iOS 13 Dark Mode
For those who like to remain on consistent development, the biggest enhancement coming with Flutter 1.12 is full assistance for dark mode in iOS 13.
Previously this year, Flutter chose appropriate support for auto toggling to dark mode on Android 10, needing very small effort on the part of developers to empower, in case they use stock Material Design widgets of Flutter.
As of Flutter 1.12 introduction, all of the iOS-like widgets, named Cupertino, are currently likewise available in a dark theme that can be enabled automatically on the dark mode settings of a device.
Another new feature of Flutter 1.12 is stable, official assistance for adding Flutter to any current Android or iOS app. This is especially helpful in the migration of an app to the Flutter once, instead of requiring starting from the beginning.
Moreover, Android app developers can reap the benefits of newly included ‘Flutter Module’ option in the New Module view of Android Studio to smoothly add Flutter to the Android projects they are working on.
6. Updated DartPad
Another Flutter 1.12 major declaration to ponder is the updated DartPad.
The revised DartPad has included the strength of not entirely editing Flutter code, but also assessing the rendered UI and running the Flutter code efficiently.
7. Adobe XD to Flutter Plugin
Flutter currently has tied up with Adobe XD and the XD is accessible to the Flutter plugins.
The target of Flutter to make easy designs and more efficient alongside helping developers and designers in working together seeming as accomplished with Adobe XD partnership.
The latest XD in Flutter changes the XD designs automatically into code and makes a usable part of Flutter application development.
Moreover, it helps product designers design and prototype effortless user experience for desktop, web, mobile, and more.
8. New Google Fonts Package
The Flutter development team also launched an all-new Google Fonts package that gets access to almost 1000 open-sourced font families.
These enable designers to add amazing typography in the development ambiance within reach in only a code line.
9. Multi-device Debugging
When you have developed and debugged your Flutter UI, you have most possibly done it on one device.
You must want it to be capable of debugging your app across several devices simultaneously, right? With Flutter’s assistance for multi-session debugging in Visual Code, this is what you can simply do.
10. Debug Layout Problems with the Layout Explorer
Whether you let Hot UI write the code for you or you write the code yourself, you have still received code and often code has problems.
To help you track down and troubleshoot your problems, the Dart DevTools was introduced. In this latest DevTools version, Flutter has added a feature named Layout Explorer for augmenting the Inspector with your layout’s visual representation.
11. Create Your Widgets inline with Hot UI
In case you install the Flutter tools on your device locally, you will discover a new feature previewed in the Android Studio/IntelliJ plugin for Flutter.
It permits you to see and directly communicate with your widgets in your IDE as you are creating them. This feature is called Hot UI that makes changes in your code and updates the hosted UI directly.
12. Improvements in Android Build
To enhance Android, Flutter recognized some build issues in this release. They made the Android app development more unique, especially around integrating plugins using Support Libraries and those utilizing AndroidX.
They moved the plugins of the Flutter team to AndroidX and suggest all apps and plugins moving to AndroidX also.
For plugins that haven’t yet switched, if there is a development issue, they have an alternative code path in their platform that uses Jetifier and Android Archive files.
The platform is slower and this is why it’s not the main development framework, but it fixes nearly 95% of the development issues the team has experienced.
13. Golden Image Testing
The term Golden Image refers to a prime image file that is pondered the real rendering of a provided state, widget, app or other visual representation you have selected to capture.
These latest applications feature visual differences for making it clear when there are distinctions between the updates under testing and your golden image.
What is Still Absent in Flutter Development Environment?
Flutter has recognized to be the trending cross-platform development industry, winning over React Native in the debate of Flutter vs. React Native. However, it has not yet showcased itself as the most efficient option for game development.
Moreover, it still hasn’t provided a way to push code updated to the designed apps directly. Nevertheless, we expect that these problems will be certainly fixed in the upcoming days.
The future of Flutter will come up with better options in the form of Flutter 1.13 and more versions.