It’s Time to Start Your Projects with Flutter 2.2 in 2021
Flutter 2.0 was released in March 2021, and the Flutter team has been listening to early comments and searching for ways to enhance it. They are thrilled to announce the release of Flutter 2.2, which is now stable and has concentrated on improving the quality and productivity of Flutter in version 2.2. It’s not about introducing a lot of new features; it’s about giving a solid basis on which to build Flutter projects, with increased speed, improved testing infrastructure, expanded Dart’s type alias feature, expanded null-safety support, better developer tooling, and more.
Developers need a solid ecosystem to offer the best-in-class user experience. Google has been working hard to improve its ecosystem products, including Material, Google Pay, Ads, and Cloud. Flutter’s mission has always been to provide a user interface platform for ambient computing across a variety of devices, including mobile, web, desktop, and embedded. And by expanding Flutter from a mobile framework to a portable framework with updates for the web and desktop, we’re taking even more strides along this route.
Flutter, for starters, features production-quality web support. Flutter’s developer experience and visual app quality are now available in the browser. From the same codebase, we can now create apps for iOS, Android, and the web.
In addition, behind a configuration flag, a beta version of desktop support was made accessible on the stable channel. As Flutter improves in quality, this makes it easier for us to test the current Flutter code on the desktop.
Flutter’s ability to be stretched from mobile to web to desktop is due to Dart, the secret sauce underlying Flutter.
Dart Null Safety may also be found in stable. With null-safety, we can now eliminate the majority of defects from our code, while simultaneously making our program smaller and quicker. More and more developers are joining the Flutter community with each new release.
As of today, 200,000 Flutter applications have been published to the Google Play Store by developers all around the world, with more being uploaded every day.
Grab, Southeast Asia’s most popular mega app that offers rides, payments, food delivery, parcel delivery, financial services, and more, has used Flutter in its main app, Merchant app, and Driver app. Grab has been downloaded over 200 million times on both Android and iOS devices. Grab engineers informed Google that Flutter cut at least a third of the time it took to build, test, and deliver new features.
The BMW group then had a successful deployment of its Flutter-based My BMW and MINI applications, which today have over 2 million users in 40 regions across five continents. BMW has a Flutter development team of 300 engineers, making it one of the largest Flutter/Dart development teams in the world.
NuBank is the world’s largest digital bank, with over 35 million clients. Flutter is also used in their main banking app. Using Flutter, they were able to drastically shorten their development time. When compared to native development, the merging success rate is 30% higher, and Flutter PRs take 85 percent less time to merge than non-Flutter PRs.
Kotak Mahindra created Kotak Securities, a trading app, entirely in Flutter and released it for iOS and Android in just six months. They’re now attempting to replicate the same experience on the web using a single codebase.
In China, Flutter has a sizable development community. Tencent is one such example. Flutter is used by more than 20 Tencent apps, and their most popular app, WeChat, has recently started utilizing it as well.
WeChat is the world’s most popular multi-purpose chat, social networking, and mobile payment app. It now has over 1.2 billion users in over 230 countries and regions. The engineers were surprised to find that Flutter renders dynamic mini-apps at a far faster frame rate and uses less memory, especially on low-end devices. Since then, the team has been working on incorporating new Flutter features into both WeChat for Consumer and WeChat for Work.
When compared to other toolkits, the video editor and support for virtual conference capabilities helped the WeChat for Work team save roughly 25% of development time, allowing them to implement new features much faster. In 2021, the team hopes to expand its use of Flutter.
New in Flutter 2.2
So, what is new in Flutter 2.2? The Google Flutter team is continually working hard to incorporate developer input into each new Flutter release. Developers have made it obvious in team research over the last year that quality is one of their top concerns for Flutter.
“We care about having a robust basis to develop your apps on, regardless of whatever platforms you’re targeting. As a result, we concentrated this release on resolving bugs, improving speed, and expanding the use of the features we revealed in Flutter 2. “
Flutter 2 is now in its 2nd version. The Flutter team worked on a number of areas for improvement in this version. They’ve resolved over 6,000 concerns in the previous six months alone. Even more significant is the investment they’ve made in testing infrastructure, redesigning processes to guarantee that builds stay in the green, and almost tripling the number of device configurations they’re testing across across five operating systems and four browser vendors.
Furthermore, Google has evaluated any Flutter code modifications against millions of lines of code written by more than 30 Google engineering teams creating their own Flutter apps before releasing even the beta version. This emphasis on quality may be observed, for example, in the most recent version of Google Pay. Since the beta in November 2020, the present accessible version has been much improved.
These enhancements include lowering the initial memory use and improving performance across the board, from database setup time to low-end device rendering speed. In addition, the Flutter team discovered other areas of Flutter performance that could be improved across the board when they collaborated with the Google Pay team.
For example, with this release, they’ve increased the speed at which any app targeting iOS can show the initial page transition. The Flutter team can be assured that upcoming stable versions will be strong because of the significant investment in infrastructure and extensive testing against real-world apps. And, if there are any concerns, the infrastructure modifications have aided them in getting patches to you more quickly.
In fact, the turnaround time on crucial issues has fallen by more than half in the previous six months. Flutter will always prioritize quality over quantity. In this version, they’ve also made several enhancements to Dart. They’ve expanded type aliases to encompass both functions and non-functions in the Dart 2.13 version that comes with Flutter 2.2, in response to one of the top demands. This allows developers to give long, difficult types pleasant short names, and it also allows us to rename our classes without breaking them.
The Flutter team believes that this will simplify a lot of our Dart code. On the Dart null safety front, they’ve been collaborating with the community to provide null safety to the ecosystem. More than 80% of the top 1000 packages have already been transferred as of today. Google is so convinced that we’ll have a fantastic time utilizing null safety with Flutter that they’ve made it the default for all new Flutter apps as of today.
The platform support for Flutter is still being improved. On the web, they’ve increased our support for mouse events like dragging, and they’re still astonished by what people can do with Flutter on the web. They’ve optimized caching behavior for PWAs, so our app reloads more consistently, and they’ve continued to be fascinated by what people can do with Flutter on the web.
Flutter, according to Google, makes it simple for people to create new apps rapidly while still enabling rich interactions for their consumers. Furthermore, Flutter on the web makes it simple to launch your app, ensuring a smooth onboarding experience for our consumers.
Introducing Flutter Flow
FlutterFlow is a new local tool for developing Flutter apps in your browser. Their purpose is to grant superpowers to Flutter developers. Thanks to the power of Flutter web, FlutterFlow allows you to develop apps faster, simpler, and with less code.
Flutter for All Platforms
Today, behind a configuration flag, the desktop beta is accessible on the stable channel. This allows developers to rapidly and easily test our apps on the desktop without having to go through the time-consuming process of switching channels. Flutter’s beta for Windows, macOS, and Linux has been considerably enhanced by the Flutter team. This release features the start of a major re-architecture of text processing to allow advanced situations, in addition to bug fixes and performance improvements.
This includes the ability to cancel a keyboard event as it propagates down the widget hierarchy. It also offers us total control over the text field widgets’ key mappings. Accessibility, system manual integration, and many top-level windows are all things they need to work on. These features, as well as others, should be available in future editions. They’re also experimenting with desktop applications that operate on several platforms. Apple’s M1 processor and Microsoft gaming devices are examples of this. They’ve made it feasible to use Microsoft UWP to construct Flutter apps. This capability is available as an early alpha on the dev channel, and you may use it to create programs that run on your own Xbox.
The Flutter team discovered that they needed to change their tooling to enable the Google Pay team to track out memory use problems in their beta. As a result, two new capabilities have been introduced to the Memory tab in the Flutter Dev tools.
The first is the ability to follow back where an object was allocated, so that if it’s leaked, we can figure out which code did it. The ability to inject custom messages into the memory timeline so that we may offer markers particular to our app is the second feature. As our apps grow in size, we’ll need more optimization capabilities to keep them operating smoothly.
Flutter, on the other hand, is more than simply a framework and set of tools. Flutter’s DNA has always included the creation of appealing apps. Flutter makes creating adaptable, adaptable, and stunning graphics a breeze. Material Design ensures that developers are working with the most up-to-date guidelines and changes, such as support for wide displays, the Navigation Rail, and other adaptive enhancements. With surfaces that stretch, shimmer, and move in response to the user’s touch, the new Material Design is spirited.
The Flutter team is dedicated to ensuring that developers are fully aware of the new design guidelines by the time the material is released later this year.
Monetize your apps with Flutter
As you may be aware, the Google Mobile Ads SDK for Flutter is already in open beta. Thousands of Flutter developers have already begun using the GMA SDK to monetize their projects. Flutter now supports the newest version of the iOS GMA SDK, which enhances ad performance and prepares developers for App Tracking Transparency regulation.
Last but not least, in response to popular demand, a new ad style known as adaptable banner has been developed. The adaptive banner is the next generation of responsive banners, optimizing ad size for each device to help improve ad performance.Because Google Pay had such a positive experience with Flutter, they’ve chosen to extend their support to the whole community. Flutter developers can now utilize Google Pay on Android and Apple Pay on iOS thanks to a new payment plug-in from Google Pay.
This lets us to develop our code once for all platforms while making it simple for our consumers to pay for groceries, retail items, and meal delivery. The plugin is open source and will be available for download on pub.dev. We’ll need to use the in-app purchase system integrated into Google Play or the iOS app store if we wish to sell digital products like game coins or virtual products within our app. For a while, the Flutter team supported this situation with a beta version of the in-app purchase plugin, and they heard from many developers about the need for higher production quality and a more efficient workflow to incorporate it into apps. In-App-Purchase is now reaching production-level quality. The plugin was re-architected, top concerns on GitHub were resolved, documentation was revised, and a new codelab was developed. It’s encouraging to see that Flutter developers may monetize their apps through adverts, payments, and in-app purchases.
Dart on Servers
While most people think of Dart as the programming language used to create attractive Flutter client apps, many of the same characteristics that make it excellent for user interfaces also make it fantastic for server apps.
There are about ten lines of code spread over three files. We discovered some intriguing parallels between client application development and server deployment. The Dart SDK includes a comprehensive collection of development tools right out of the box. This is fantastic for developers, but it might add a lot of weight to a server container that isn’t necessary. The Dart ahead-of-time compilers come in handy here. Using the same techniques to make native Flutter apps tiny and quick, as well as the ability to compile a server app down to only the components needed at runtime.
There appears to be a nearly 70-fold reduction in deployed image sizes for a small server application. In serverless systems like Google Cloud Run, this enables faster deployments and scaling up. Any containerized application may be deployed using Cloud Run. It allows for rapid scaling up and scaling down to zero, so we only pay when our application is active.