Flutter has become the talk of the town in recent years cross-platform mobile app development. To give a seamless experience to both iOS and Android platforms, Flutter has secured its position in the top list of cross-platform technologies. Flutter has become one of the renowned technologies ever since its inception in 2018. Any Flutter app development company would tell you how it is a boon to the hardcore developers who are always looking for new hacks for improving mobile applications. In the past few years, it has drawn a lot of attention due to its feature-rich functionality. It is developers’ first choice when it comes to writing codes for iOS and Android, unlike other platforms where you have to write codes separately for both iOS and Android. It is a costly and time-consuming option for developers as well as entrepreneurs. In this Flutter version guide, we will study the different versions of Flutter and their features with each updated version.
Flutter 1.12: Google Release of the Year 2019
Flutter announced its stable release in December 2019. They have added support for Android App Bundles, implemented mouse and keyboard events, iOS 13, In-App Purchase plugin in this release. They have also localized for 24 additional locales and merged several important performance improvements with several new widgets. Furthermore, they have developed the Flutter tools and have added auto-import of packages for referenced types.
Features of Flutter 1.12
iOS 13 dark mode completed
One of the big news in Flutter 1.12 is the fulfillment of their work to help the iOS 13 look and feel. This incorporates total dark mode support in the Cupertino gadgets.
This Flutter stable variant brings the headmost change, for example, the release of Dart 2.7. This update of Flutter will upgrade the experience of working with Dart 2.5, in the method of Safe string, taking care of capacities and Extension measures. It will assist engineers with forestalling mistakes when variables and factors get zero value and parse numbers in a string.
Few highlights of dart 2.7
- Addition of extension methods as a new powerful language feature.
- Safe substring handling with UTF-16 encoding.
- supports strings viewed as sequences of user-perceived characters.
- Null safety adds support for accessing object references safely.
- Addition of new Like feature for packages on Pub.dev
- Extensions are static and can have type variables.
macOS Desktop Support
Support for macOS Desktop changes from a specialized review to alpha. Presently you can construct a Flutter project that suddenly spikes in demand for macOS utilizing 'Flutter Create'.
Desktop application support gets numerous upgrades, adding menu dropdown keyboard navigation, visual thickness help, radio catches, checkboxes, etc.
Headways on Linux and Windows support are as yet in progress in the tech review stage.
Beta Web Support
One of the greatest Flutter features, Flutter for web, additionally got a redesign in Flutter 1.12.
The web help of Flutter arrived at the beta form, simplifying it for designers to apply a Dart compiler and the Flutter stage productively.
Another new component of Flutter 1.12 is steady, official help for adding Flutter to any current Android or iOS application. This is particularly useful in the movement of an application to the Flutter once, rather than requiring it to start right from the beginning.
In addition, Android application developers can receive the benefits of the recently included 'Flutter Module' choice in the New Module perspective on Android Studio to easily add Flutter to the Android projects they are dealing with.
Another Flutter 1.12 significant introduction to consider is the updated DartPad.
The modified DartPad has incorporated the strength of not completely altering Flutter code, yet additionally evaluating the delivered UI and running the Flutter code effectively.
New Google Fonts Package
The Flutter development team also launched an all-new Google Fonts bundle that gains admittance to almost 1000 publicly released text style families. These empower planners and designers to add stunning typography in the development ambiance that is reachable to a code line.
In addition to the Framework and Engine, we also have a ton to discuss for Flutter tooling. This incorporates another variant of DartPad with help for Flutter, increased IntelliJ-based IDEs with a review of another element we're calling "Hot UI", upgraded Dart DevTools with another visual design view, empowered simultaneous multi-gadget investigating in Visual Studio Code, improved the Android assemble measure and better help for discovering contrasts in delivered widgets between trials.
Debug layout issues with the Layout Explorer
Regardless of whether you write the code by hand or let Hot UI compose it for you, you've actually got code and once in a while, those code has issues. Assisting you with finding and fix your issues is actually why Dart DevTools was developed. In this new form of DevTools, the team has added an element called the "Layout Explorer" to expand the Inspector with a visual portrayal of your design.
Not exclusively does the Layout Explorer assist you with picturing the design of the widgets in your running application, yet if you'd prefer to try different things with changing the format choices, it permits you to do so interactively. The preview of this feature helps make it more obvious and fix your format issues.
Improvements in Android Build
To improve Android, Flutter perceived some build issues in this release. They made a unique Android application development, particularly around incorporating plugins utilizing Support Libraries and those using AndroidX.
They moved the plugins of the Flutter group to AndroidX and proposed all applications and modules moving to AndroidX tools. For plugins that haven't been exchanged, if there is an improvement issue, they have an elective code way in their platform that utilizes Jetifier and Android Archive documents.
Flutter 1.17: Faster iOS performance, new Material components, new Network tracking tooling, and more!
Flutter 1.17 was the first stable release of the year 2020, focussing on performance improvements new package management tool. It was launched in May 2020. The release comes with a number of bug fixes and has already closed unprecedented 6,339 issues. Flutter 1.17 features new Material components, Dart 2.8, material widgets, performance improvements with increased responsiveness when it comes to responding to customer issues.
Flutter 1.17 Features & Update
The programming language that Flutter uses to build applications has gotten the new update. In Dart 2.8, Google has improved the pub client tool, which is used to administer packages downloaded from pub.dev vault. There has also been a development in Sound null safety. This will help in lessening the application crashes working with Flutter. Google needs developers to understand these breaking changes and record issues they face.
The significant Flutter 1.17 feature is the performance which holds a primary place among all the other features of Flutter. In this version, there has been a speedup of 20-37 percent of default route cases. Other improvements are:
- Improvements in application sizes when compared with other versions.
- Takes 80 percent less memory space.
- 70 percent decrease in the memory through the scrolling feature changes.
- Improved animation packages that speed up performance.
Flutter 1.17 empowers building applications utilizing NavigationRail. This is a widget update that permits to add desktop and mobile components to the applications. There are two other updates in the widgets related to the new form namely datePicker and TextSelection.
TextSelection issues appear to have been fixed with Flutter 1.17 and Fidelity for ios and android buttons have additionally been improved. With the new form, Google delivers another Animation package, where one can perform the container transformations as well as shared transition.
Google text styles for the updated Flutter version have been launched and you can have the option to utilize any textual styles from fonts.google.com. It is dependent upon the developers to decide to need the package of the textual style with APK or download it utilizing API.
MGM and Superformula:
These highlights of Flutter 1.17 assist in making wonderful application experiences. The Superformula is a result of an advanced organization. At the point when this collaborates with MGMResorts, they make another MGM design language for the significant web and mobile experiences. With the new Flutter codebase, the applications were reconstructed quicker than previously, increasing the general booking conversions for MGM by 9 %.
Dart DevTools port to Flutter:
The new Flutter version acquires executed dart Dev tools with a wide range of enhancements. The new Network tab anyway being the greatest one. This Network tab shows network traffic for the Flutter application. The version also gives you an option to manually update the Network tab in the prerelease version of Dart DevTools, if you are not able to see it. For this, you can follow this command:
$ pub global activate devtools
Accessibility and Internationalization
Ultimately, a significant space of continued focus is accessibility, since we think of it as a need that Flutter applications are accessible to the broadest possible crowd. In this release, the team has taken care of the job in all cases, including availability fixes for scrolling, text fields, and other information widgets. You can test your own applications for availability while they have additionally updated the documentation in this release for certain suggested best practices.
On the internationalization front, they have dealt with certain issues influencing Samsung console IMEs that influenced text contribution to different East Asian dialects.
Flutter 1.20: Performance improvements, mobile autofill, new widget and more!
On August 5th, Flutter released its next stable version along with Dart 2.9. Although Dart 2.9 is just an updated version and they don’t have any new additional features to it. The substantial Performance Improvements are what make the version stand out from the earlier versions. The responsive licenses, new widgets like Interactive viewer making pan along with its embedding in the new VS Code extension along with its embedding in the new VS Code extension are some of the significant features of Flutter 1.20.
Flutter 1.20 Features & Updates
Responsive Licenses page
Another new Flutter version update this launch is the new responsive licenses page accessible from the AboutDialog. PR 57588, from community contributor TonicArtos, isn't just refreshed to coordinate with Material rules, making it downright ideal to take a look at, however, it's simpler to explore and intended to fill in too on tablets and desktops as on telephones. Since each Flutter application ought to show the licenses for the packages they're utilizing, they have just made each Flutter application better!
New pubspec.yaml format required for publishing plugins
Obviously, Flutter isn't only about the widgets; it's additionally the tooling and this version accompanies an excessive number of updates to make reference to. The old format could not support the specification of platforms that supported the plugins which is why it was deprecated after version 1.12. The new format hence is used now from this version onwards to publish new or updated plugins.
Preview of embedded Dart DevTools in Visual Studio Code
The greatest tooling update in this release goes to the Visual Studio Code augmentation, which gives a review of another element to empower you to bring Dart DevTools screens simply into your coding workspace. Empower this component with the new dart.previewEmbeddedDevTools setting. The Flutter Widget Inspector implanted simply into Visual Studio Code however with this new setting empowered, you can pick your #1-page insert utilizing the Dart DevTools menu on the status bar.
Updates to network tracking
The most recent version of Dart DevTools accompanies a refreshed adaptation of the Network page that empowers web attachment profiling. The Network page currently adds timing data to the network calls from your application, alongside other data like status and content type. Extra enhancements have been made to the detail UI to give an outline of the information in a WebSocket or HTTP demand. The team has also got more designs for this page to incorporate HTTP demand/reaction bodies and observing gRPC traffic.
Autofill for mobile text fields
One of the most mentioned Flutter features for some time has been the support for the fundamental Android and iOS for text autofill in Flutter programs. With PR 52126, it's easy to say that the wait is over — no need for further asking to return information that the OS has effectively assembled for them.
Null Safety In Dart
Make your applications more steady and performant with Dart's null safety. This particular element of Dart assists you with writing less error-prone code and improving execution.
Dart is a type-safe language which implies that when you get a variable of some kind, the compiler can ensure that it is of that type. In any case, type security without help from anyone else doesn't ensure that the variable isn't invalid.
Typesafe Platform channels via Pigeon
A Command Line Tool Pigeon, at which the messaging protocol is characterized in a subset of Dart which at that point creates messaging code for Android or iOS shaping the correspondence between the two — Flutter and Host Platform more secure and simpler for modules and Add-to-App is produced for Platform Interops.In spite of the fact that Pigeon is as yet in the Pre-Release stage, You can Try it out In Your Projects with the Documentation and Sample Project Lending you a Helping Hand.
Interactive Viewer: Newly Added Widget
The newly added widget, the interactive viewer is designed for building common kinds of interactivity and provides Flutter the ability to enable zoom, drag ’n’ drop, resize, and pan-like simple interactions into your Flutter applications.
Flutter 1.22: Supporting iOS 14 and Android 11, new i18n, l10n support, and more
Flutter version 1.22 gave developers and businesses a reason to shift their cross-platform applications to the SDK. Released in October 2020, the version has major android and ios updates along with localization and internationalization support. Android State Restoration, Navigator 2.0, and New Dart Developer Tool are a few of the other important features of this version. Let’s have a look at them:
Flutter 1.22 Features & Updates
iOS 14 — Support
Flutter team added some amazing updates in the delivery with the goal that it can work the most ideal path feasible for developers focussing on iOS applications.
- XCode 12 requires iOS 9.0 at least. Flutter sets the default layout with iOS 9.0 in this release.
- Different crashes and text style delivering issues are fixed
- Deployment to actual gadgets was fixed in v 1.20.4 before
- Some different issues in regards to notifications were also fixed
- Crashes and textual style delivering in iOS 14 has been fixed
- Flutter is currently updated with the new iOS SF Symbols textual style
The form additionally empowers the production of App Clips – the element known to assist organizations with gaining clients.
Updates in Android 11
With the arrival of the new Android version there are two significant updates in the Flutter structure for Android 11:
- Safe insects for different Android Notches
- Animation sync with the keyboard
Safe insects for different Android Notches
Presently, components will be shown at appropriate spots of different kinds of scores, patterns, and different edges of waterfall displays. Utilizing MediaQuery and SafeArea can help you put an intelligent piece of UI in the right spot.
Animation sync with the keyboard
Movements in Flutter will sync appropriately with the keyboard in Android 11 as it pops up and disappears.
New Localization and Internalization Support
Another component that is ready to take the advantage of Flutter for business up a notch is the internalization and localization support. The pros of expanding mobile application transformation through limitation are now grounded, the 1.22 adaptation is set to make it one of the prime advantages of Flutter application development for business.
With the new update, the Flutter application developers will at this point not need to hold on to add the limitation highlight for after improvement, they will actually want to make the application internalization friendly right at the creation stage through the hot reload office.
If you've utilized navigation in your Flutter applications previously, you may have seen that the main data structure, the pile of pages that your client is exploring through, is stowed away from you. All things considered, to oversee it, you call Navigator.pop() or Navigator.push(). For instance, suppose that you needed to show a list of widgets on your home page, you permit the client to tap on one to get to a detail page devoted to simply that color.
Preview: State Restoration for Android
Another element that is accessible for you to explore different avenues in this release is supported for State Restoration on Android. This is one of our most-mentioned features with 217 approval! For those curious about the requirement for state rebuilding, mobile OSes may kill applications that are behind the scenes to recover resources for foreground applications. At the point when this occurs, the OS advises the application to be executed to save any UI state rapidly so it very well may be reestablished when the client cycles back to that application. When executed effectively, this gives a consistent experience to the client while utilizing the widget's resources. Up to this point, Flutter didn't support state restoration and it was hard to do it effectively without structural support.
New Dart Developer Tool
We all wanted the team to give us Dart updates along with Flutter. well, they just heard us. Despite the fact that you may be acquainted with some dart tools like dartfmt, dartanalyzer, and others. New Dart (2.10) is a bound-together dart developer tool with respect to Flutter.
DevTools Tab directly from IntelliJ
Till now you may have utilized the inspector pane in IntelliJ and the controller tab in DevTools. Well, with this update there's a capacity to have the Inspector tab from Dart DevTools straightforwardly within IntelliJ. Prior to this, the Flutter team was keeping two codebases, and there were some missing highlights too like the absence of Layout explorer.
App size analysis tool
The tooling delivered as a component of Flutter 1.22 incorporates another output size analysis utility. This device analyzes Flutter whether the breakdown of your application's size changes after some time.You can utilize the tool to assemble the information fundamental for examination by passing --analyze-size flag to any of the accompanying orders:
- flutter build ios
- flutter build macos
- flutter build windows
- flutter build linux
- flutter build apk
- flutter build appbundle
Utilizing this flag while building a Flutter output artifact prints. This incorporates native code, resources, and surprisingly a package-level breakdown of assembled Dart code.
Flutter 2.0: Flutter web and Null Safety move to stable, Flutter desktop moves to beta and so much more!
On March 2021, Google released Flutter 2.0 in the event named Flutter Engage. There's a ton of discussion about this release as numerous IT specialists and experienced designers and developers are naming it as a milestone release. This new update accompanies features and fixes which are extraordinary in their own particular manner.
Prior to this, developers utilized Flutter for Android and iOS application development. With this recent update, it has expanded its mobile app services to different platforms like Windows, Linux, Macintosh, and embedded devices. Moreover, engineers currently can also utilize Flutter for web application development, i.e., applications that are utilized on the browser.
Flutter 2 Features & Updates
One of the most exciting pieces of this steady release is Flutter's help for the web. By offering support for the web platform, Flutter has pushed the reusability of code to another level. The release has moved its methodology from report-driven to application-driven structure. With this, the web has quite recently become a possibility for Flutter designers to build applications on.
By utilizing a lot of strength of web stages, Flutter has constructed an establishment for designers to assemble interactive web applications. Besides, it has upgraded the platform with APIs for building adaptable and intelligent 2D and 3D designs.
Notwithstanding the HTML renderer, Flutter 2.0 has also thought of a Canvas-Kit-based renderer. Additionally, it thinks of a Link widget that empowers developers to give a web-application like feel in the program.
Like the web, Flutter has stretched out its help to Desktop applications. Presently, Flutter empowers developers to offer a native-like encounter on every one of the platforms. This experience incorporates a few key things like a built-in context menu, accurate mouse dragging, text selection pivot points, etc.
This most recent variant empowers the designers to stop the keyboard events even though it has been just started. Besides, developers can move things in the ReorderableListView widget easily.
The scrollbar widget has also been updated and is another expansion that offers first-class intuitiveness in the desktop application as developers would now be able to utilize their thumb. Besides, the desktop-flutter app shows pages and down tracks. Additionally, the new release helps developers in the smoother resizing for Windows and macOS.
Besides, the Flutter community has been pushed ahead taking everything into account. At present, you can expect support for different things like native-like content editing, native high-level menus, as well as accessibility support.
Multiple Flutter instances with Add-to-App
Flutter has become the best option for some developers as it empowers them to reuse similar code for creating mobile applications for both Android and iOS.
Moreover, you can add Flutter to a current application by utilizing the App-to-App include. This element is critical as it saves the native code base and empowers designers and developers to execute the code for the two stages.
Sound Null Safety
Sound invalid security is a remarkable expansion to the Dart language. It empowers designers to recognize non-nullable and nullable sorts. With this setup, designers can forestall invalid error crashes throughout development.
Google Mobile Ads to beta
Flutter version update also worked through the Google Mobile Ads SDK beta variant. This assists developers with including native advertisements and inline flags with the current overlay designs. Designers can undoubtedly alter ads with the assistance of Admob and Ad Manager.
We have already seen that Flutter currently supports Linux, macOS, and windows as well. Although, numerous developers have an inquiry with respect to how might you write an application that can adjust to various screens like small, medium, and large.
The screen isn't the only factor being referred to, developers additionally wonder about various idioms (web, mobile, and desktop) and input modes (touch, keyboard, and mouse).
Latest iOS features and widgets:
Flutter with its 2.0 rendition is further fortifying its iOS support with its most recent iOS highlights. the release carries 17039 PRs, out of which 178 PRs are iOS related. It also incorporates 23495 which has State Restoration to iOS. Additionally, 67781 empower designers to fabricate an IPA directly without opening Xcode.
Moreover, 69809, updates the CocoaPods form to coordinate with the most recent tooling. This as well as the new form accompanies new iOS widgets in the Cupertino plan language implementation.
CupertinoSearchTextField gives iOS search bar UI. Additionally, CupertinoFormRow, CupertinoFormSection, and CupertinoTextFormFieldRow widgets help in creating approved structure fields with the segmented visual style of iOS.
Flutter Dev Tools
The launch of Flutter 2.0 has also changed the name of the community from DevTools to FlutterDevTools particularly with regards to troubleshooting.
The new FlutterDevTool will empower Visual Studio Code, IntelliJ, and AndroidStudio to assist developers with an investigation by checking for special cases. Besides, the new FlutterDevTool can identify images with higher resolution.
Autocomplete and ScaffoldMessenger
With the dispatch of the most recent Flutter update, developers can avail of two new widgets which are Autocomplete and ScaffoldMessenger.
If we talk about Autocompletecore, it addresses the minimal functionality that is needed to get auto-complete functionality for your Flutter application.
Autocomplete highlight was requested for a long time. This element permits actuating auto-complete features in your native applications that are constructed utilizing Flutter.
As for ScaffoldMessenger, it helps in the simple formation of SnackBar for the activity between the Scaffold transitions.
|Flutter 1.12||Flutter 1.17||Flutter 1.20||Flutter 1.22||Flutter 2.0|
|Released on Dec 2019||Released on May 2020||Released on August 2020||Released on October 2020||Released onMarch 2021|
|Dart 2.7||Dart 2.8||Dart 2.9||Dart 2.9 and 2.10||Dart 2.12|
|App-to-app update||Accessibility and Internationalization||Responsive Licenses page||New Localization and Internalization Support||Multiple Flutter instances with Add-to-App|
|Beta Web Support ||Metal Support||Dart Dev Tools Update||Updates in ios14||updated DartPad support|
|Android build improvements||MGM and Superformula||Mobile Autofill Support||Android State Restoration||Android Studio/IntelliJ Extension|
|macOS desktop support||Mobile performance and size improvements||Typesafe Platform channels via Pigeon||Improved output linking in Visual Studio Code||Visual Studio Code Extension|
|New Google Fonts Package||Google Fonts for Flutter|| |
Import Statement Update
Google Maps and WebView plugins
|Debug layout issues with the Layout Explorer||Material widgets: NavigationRail, DatePicker||Updated Material Slider, RangeSlider||App Appearance Upgrades||New widgets: Autocomplete and ScaffoldMessenger|
|Flutter tooling||Modernizing Flutter Text Theming||Null Safety In Dart||new unified Dart developer tool||FlutterDevTools|
So it is safe to say that Flutter is a developer-friendly programming language where they have the option to write less code for developing an application. Flutter app development looks easy and reliable but every version comes with a set of pros and cons. The Flutter community works inherently to overcome the shortage of the last version which is why we have so many variants of Flutter in such a small span.