Flutter 2: news and releases

Flutter 2 is finally here and in Somnio Software we can’t talk about anything else! On March 3, Flutter Engage was held, an online event created by Google where the entire Flutter Community joined to witness the presentation of Flutter’s new possibilities and bright future.

After the event, we became, even more, Flutter fanatical — if that’s even possible. We discussed the news with the team and kept on searching for more information. We decided to share with you the news they presented and convey our opinion regarding what these changes will entail.

So, in case you missed the keynote or you are just as excited as we are, here are the announcements, releases, and news from our perspective!

Some news to get started

  • There are over 150.000 Flutter Apps published in the store.
  • Microsoft has been contributing to Flutter and working with Google on Windows support for Flutter.
  • Flutter for cars: Toyota, one of the largest vehicle manufacturers, said that they are going to use Flutter directly in their car systems and are now experimenting. Toyota joins other large automotive companies that are supporting Flutter technology, such as BMW.
  • Firebase packages updated for Flutter 2.0
  • Canonical is developing the new Ubuntu installer using Flutter and has announced that they will keep working with Flutter in the future for their Ubuntu applications.

What’s new in Flutter 2?

Image: Google Developers

Flutter web moved to stable

Yes, Flutter web is now stable! This means that we can add yet another platform to safely develop with Flutter. While not all Webs might make sense for Flutter, it perfectly matches with app-centric experiences such as creating Progressive Web Apps (PWA), Single Page Applications (SPA), and of course, existing Flutter Mobile Applications that wish to enable Web as well.

Flutter SDK’s second version provides huge updates regarding performance improvement, web-specific features, and widgets, as well as support for laptop/desktop form factors. Here are some of the web apps developed with Flutter Web: DartPad, iRobot Coding, and Flutter Plasma.

In Somnio we are very excited to explore Flutter Web. It opens new development possibilities for our clients. Even though we work on different technologies, and have been working with Web Development long before Flutter Web appeared, it enables us to offer our clients Web support with Flutter as well. This has several advantages, mainly regarding effort, time, and cost.

Desktop

Flutter Desktop is now available in the stable channel — this is big news! Even though it’s still under the early release, it brings the possibility for everyone who is in the stable channel to test on desktop as well. Still, it won’t technically be released to stable till later this year. Therefore, we have now 6 platforms supported for Flutter: iOS, Android, Web, macOS, Windows, and Linux.

Dart 2.12 & Sound Null Safety are here

Dart is now the only second language to support Sound Null Safety along with Swift. This new feature will help us catch and avoid null exceptions, a class of bugs that are often hard to identify. Moreover, it allows null-safe code to coexist with null unsafe code, which as a result makes the migration easier and less tough! It also means that it enables the possibility to incrementally migrate projects.

You may be wondering: why migrating would be a good choice? Well, it not only helps you develop with more confidence, since you’ll have a lot fewer bugs null-related, but it also allows the compiler to be more efficient. This results in an increased performance which makes everything faster!

Null Safety is essential and we are super excited! The Flutter team is actively working to improve the language taking into account the Flutter Community’s requests and suggestions. They are constantly seeking to integrate these features without arriving on dead-weight language features. We are now looking forward to new improvements regarding metaprogramming.

Developers Tools

With so many changes, how can we actively and confidently incorporate this into our daily basis? Of course, we aren’t the first ones to think about it, Flutter already did!

They renamed the DevTools to Flutter DevTools so it’s specifically used for debugging in a Flutter app. They added several improvements such as:

  1. Flutter Fix, an out-of-the-box tool designed to do all the heavy lifting for us. It allows us to update any deprecated code that we have in an automatic way. This way errors and warnings will be resolved automatically. This enables Flutter to make more breaking changes in the future and continue making our code even easier to update.
  2. The Null Safety migration tool will help us migrate our code to Null Safety by running only one command. We can now easily visualize and determine which changes to apply.
  3. An improved Flutter inspector embedded directly in the IDE — remember this requires opening the navigator previously. When we have an error by overflow, the IDE will now show us this error. Plus we’ll be able to directly open the inspector to see what’s going on. This new feature will facilitate the anticipation and correction of mistakes in the IDE itself. This is a huge improvement in the developing phase’s efficiency.
  4. DevTools can now be opened in the browser where we’ll have access to more sophisticated debugging tools for performance, network, memory, and more!

Who is using the new Flutter?

Image: Screenshot taken from Flutter Engage keynote

Linux + Flutter

Flutter is now the default choice for future Desktop and Mobile Apps created by Canonical. As mentioned by Ken VanDine, Engineering Manager for Ubuntu Desktop at Canonical, the Flutter ecosystem is growing rapidly and they wanted to stay at the vanguard.

What’s new is that Linux worked together with Flutter to publish Flutter SDK as a snap in the Snap Store — Linux’s app store. This makes it easier for developers to publish their applications for Linux.

What’s more, Linux strove to bring their own look and feel to Flutter. One might think that when developing with cross-platform technologies those native characteristics that make the overall user experience might be lost, however, this is not the case with Flutter. This is extremely important since when you’ll be targeting Ubuntu you’ll be able to match Yaru — Linux style.

It’s not the first time that Flutter has paid attention to this. For instance, you could already have Material widgets that implement the Material design or you could also have Cupertino widgets that implement iOS design language based on Apple’s Human Interface Guidelines.

Even though users might fear that when targeting different platforms they could lose the look and feel distinctive to each platform, Flutter is putting a strong focus on decreasing the gap between cross-platform and native so this doesn’t happen. For instance, in Linux with Yaru and Cupertino iOS.

Toyota + Flutter

Toyota’s partnership with Flutter requests a special section. The fact that one of the world’s biggest-selling automakers is partnering with Flutter is HUGE. Daniel Hall, Chief Engineer at Toyota Motor in North America, announced they are bringing completely next-generation vehicle infotainment systems powered by Flutter.

Why the choice?

  • Good performance in a constraint environment + AOT consistency.
  • In-vehicle user experience on par with smartphones.
  • Fast development workflow.
  • Fast iteration from customer feedback.

The fact that Toyota chooses Flutter for one of its core products only reaffirms how valuable and cutting-edge Flutter can be to a company. Even in this case, they used it in an innovative way through the embedded API. They were able to not only improve their product performance but also improve internal processes at the company level. This is something to highlight and for every company to evaluate.

We believe Flutter once again reinforced its idea of ​​being present on all platforms, not just mobile. Moreover, we are certain that as time goes by we will continue to see their support for even more platforms. Flutter allows users to integrate with several platforms that they might have never imagined possible.

Google Mobile Ads (in BETA)

Monetizing apps by including ads is probably one of the most used paths in development, and Flutter is not one to miss a chance. The Flutter community kept asking for the possibility to customize the look and feel of the app with native ads. As a result, this new plugin now provides inline banner and native ads, in addition to the existing overlay formats (overlay banner, interstitial, and rewarded video ads).

Google Mobile Ads SDK for Flutter also unifies support for Ad Manager and Admob, this means that the plugin can be tailored to any scenario no matter the size publisher.

To sum up, Google Mobile Ads’ main characteristics:

  • Inline banners and Native ads
  • Unify support for Google AdMob and Google Ad Manager.

This new release was carefully created in order to benefit the owners of the applications but also to not affect the users of the application. For instance, app owners will profit from the possibility of monetizing their apps. At the same time, they thoughtfully focused on maintaining a good user experience with non-intrusive integrations.

Image: What’s New in Flutter 2

Other improvements

New iOS feature: Flutter 2.0 not only focused on increasing its value on other platforms but also continued to perfect the iOS system performance with improvements. This new feature allows us to build the IPA directly from the command without having to open Xcode.

New widgets: This new release comes with two new widgets: AutocompleteCore and ScaffoldMessenger. Autocomplete, as you may guess, completes the text for you, and the ScaffoldMessenger was designed to deal with SnackBar-related issues, for instance, it will allow you to easily create more reliable SnackBars that persist between transitions.

Add-to-App feature: If you didn’t have the opportunity to start an app with Flutter from the start, that is no problem. With this new feature, you can add Flutter to your existing iOS and Android app. Basically, if you have a Native App built with iOS or Android, you are able to put Flutter into there as well.

Visual Studio Code Extension: The Virtual Studio Code Flutter Extension has been updated for Flutter 2 and it brings new DevTools integrations that make it easier to find exactly where something went wrong in your app. Along with this, they provide improved UI elements, new features for testing, and automatic suggestions as you write code.

Ecosystem updates: When talking about development we are talking also about packages and plugins. In this new stable release, there have been huge improvements in quality regarding these features. The Flutter team announced that the Firebase packages are now fully-fledged and production-ready, including Null Safety support with improved documentation. Also, Sentry has announced their new flutter SDK with expanded functionalities to report device and operating system details, native crashes, session data, and version adoption.

Flutter engage sessions

The keynote included different sessions such as Flutter Engage Keynote, Flutter Sessions to explain in-depth a particular topic, and Community Sessions, to bring a space for the community to actively participate.

You can check everything out over here: https://events.flutter.dev/engage/ondemand

Flutter never ceases to amaze us

In Somnio we are loyal to Flutter and have supported this technology by choosing it every day. We have worked with several technologies before, and in some cases still do, but Flutter’s advantages and performance have no comparison. It has definitely changed the way we work and we are proud to say that we have supported and will continue to support Flutter and its immense and unimaginable possibilities.

Flutter keeps evolving at a record speed and we are proud to watch it happen, happy to use it, and excited to try this new version. Our favorite announcement was the stable version for web and desktop! We can’t wait to start implementing all these improvements!

Now we want to know which was your favorite release! Let us know in the comments :)

--

--

Somnio Software - Flutter Agency

We are a Software Development Company focused on creating Mobile & Web Applications with Flutter.