Flutter 3 released (recommend a free online Flutter learning tutorial at the end of the article)

Flutter 3 released (recommend a free online Flutter learning tutorial at the end of the article)

Flutter 3 is released, what are you waiting for? Let's learn together!!!

Last updated 5/12/2022 8:25 AM
沙漠尽头的狼
10 min read
Category
Flutter
Tags
Flutter

Translated from Tim Sneath May 12, 2022 article 《Introducing Flutter 3》


Author: Tim Sneath

Translation: Desert Wolf (with help from Google Translate)

Link: Introducing Flutter 3 (Original English)

We’ve reached the culmination of our multi-platform UI journey for phones, desktops, and websites.

We’re thrilled to announce Flutter 3, launched as part of the Google I/O keynote. Flutter 3 completes our roadmap from a mobile-centric to a multi-platform framework, adding support for macOS and Linux desktop applications, along with improvements to Firebase integration, new productivity and performance features, and support for Apple Silicon.

The Flutter 3 journey

We created Flutter to revolutionize app development: combining the iterative development model of the web with the hardware-accelerated graphics rendering and pixel-level control that were previously the domain of games. Over the past four years since the Flutter 1.0 beta release, we’ve gradually built on those foundations, adding new framework features and new widgets, deeper integration with underlying platforms, a rich package ecosystem, and many performance and tooling improvements.

As the product has matured, more and more people have started building apps with it. Today, there are over 500,000 apps built with Flutter. Analysis from research firms like data.ai and public references show that Flutter is used by a broad range of customers across many segments: from social apps like WeChat to financial and banking apps like Betterment and Nubank; from commerce apps like SHEIN and trip.com to lifestyle apps like Fastic and Tabcorp; from companion apps like My BMW to public institutions like the Brazilian government.

Today, there are over 500,000 apps built with Flutter.

Editor's Note: There's a video here https://youtu.be/8RmsstcNE1Y

Developers tell us that Flutter helps them build beautiful apps faster for more platforms. In our recent user research:

  • 91% of developers agree that Flutter reduces the time needed to build and ship an app.
  • 85% of developers agree that Flutter makes their apps more beautiful than before.
  • 85% of developers agree that it enables them to ship their apps to more platforms than before.

In a recent blog post from Sonos discussing their improved setup experience, they highlighted the second of these:

“It’s no exaggeration to say that [Flutter] unlocked a level of ‘premium’ unlike anything our team had previously delivered. Most importantly for our designers, the ease of building new UI meant that our team spent less time saying ‘no’ to specs and more time iterating on them. If that sounds worthwhile, we recommend giving Flutter a try—we’re glad we did.”

Introducing Flutter 3

Today, we’re introducing Flutter 3, the culmination of our journey to fill out the platforms Flutter supports. With Flutter 3, you can build beautiful experiences for six platforms from a single codebase, providing developers with unparalleled productivity and allowing startups to bring new ideas to their full target market from day one.

In previous releases, we supplemented iOS and Android with web and Windows support, and now Flutter 3 adds stable support for macOS and Linux applications. Adding platform support requires more than just rendering pixels: it includes new input and interaction models, compilation and build support, accessibility and internationalization, and platform-specific integration. Our goal is to give you the flexibility to take full advantage of the underlying operating system while sharing as much UI and logic as you choose.

On macOS, we’ve invested in support for both Intel and Apple Silicon, providing universal binary support that allows apps to package executables that run natively on both architectures. On Linux, Canonical and Google have collaborated to offer a highly integrated, best-in-class development option.

Superlist is a great example of how Flutter enables beautiful desktop experiences, launching today in beta. Superlist provides hyper-collaboration by combining lists, tasks, and free-form content into a brand-new kind of to-do list and personal planning app. The Superlist team chose Flutter for its ability to deliver a fast, highly branded desktop experience, and we think their progress so far validates why it’s proven to be a great choice.

Editor's Note: There's a video here https://youtu.be/YRuQj7mlH2I

Flutter 3 also improves many fundamental elements, improves performance, supports Material You, and updates productivity.

In addition to the work mentioned above, in this release, Flutter can fully natively be developed on Apple Silicon. While Flutter has been compatible with M1-powered Apple devices since its release, Flutter now fully leverages Dart’s support for Apple Silicon, resulting in faster compilation on M1-driven devices and support for universal binary files for macOS applications.

Our work on Material Design 3 is largely complete in this release, enabling developers to take advantage of an adaptive, cross-platform design system that provides dynamic color schemes and updated visual components.

Our detailed technical blog post expands on these and many other new features in Flutter 3.

Flutter is powered by Dart, a high-productivity, portable language for multi-platform development. Our work on Dart in this cycle includes new language features that reduce boilerplate and improve readability, experimental RISC-V support, upgraded linters, and new documentation. For more details on all the new improvements in Dart 2.17, check out the dedicated blog.

Firebase and Flutter

Of course, building an app is about more than just the UI framework. App publishers need a full suite of tools to help you build, launch, and operate your app, including services for authentication, data storage, cloud functions, and device testing. Multiple services support Flutter, including Sentry, AppWrite, and AWS Amplify.

Google’s offering for app services is Firebase, and SlashData’s developer benchmarking study indicates that 62% of Flutter developers use Firebase in their apps. So over the past few releases, we’ve been working with Firebase to expand and better integrate Flutter as a first-class integration. This includes bringing Flutter’s Firebase plugins to 1.0, adding better documentation and tools, and new widgets like FlutterFire UI that give developers reusable authentication and profile UI.

Today, we announce that the Flutter/Firebase integration is upgraded to a fully supported core part of the Firebase product. We’re moving source code and documentation into the main Firebase repositories and sites, and you can count on us to evolve Firebase support for Flutter in sync with Android and iOS.

Additionally, we’ve made significant improvements to support Flutter apps using Crashlytics, Firebase’s popular real-time crash reporting service. With updates to the Flutter Crashlytics plugin, you can track fatal errors in real-time, giving you the same feature set as other iOS and Android developers. This includes important alerts and metrics like “crash-free users” to help you keep a handle on your app’s stability. The Crashlytics analysis pipeline has been upgraded to improve clustering of Flutter crashes, enabling faster triage, prioritization, and fixing of issues. Finally, we’ve simplified the plugin setup process, so you can get Crashlytics up and running from your Dart code in just a few steps.

Flutter Casual Games Toolkit

For most developers, Flutter is an app framework. But there’s also a growing community around casual game development, leveraging the hardware-accelerated graphics support that Flutter provides, along with open-source game engines like Flame. We wanted to make it easier for casual game developers to get started, so at today’s I/O, we announced the Casual Games Toolkit, which provides a starter kit with templates and best practices, along with great integration for ads and cloud services.

Although Flutter isn’t designed for high-intensity 3D action games, even some of those have turned to Flutter for their non-game UI, including popular games with hundreds of millions of users like PUBG Mobile. For I/O, we wanted to see how far we could push our technology, so we created a fun pinball game powered by Firebase and Flutter web. I/O Pinball features a custom table designed around Google’s four favorite mascots: Flutter’s Dash, Firebase’s Sparky, the Android robot, and the Chrome dinosaur, and lets you compete with others for high scores. We think it’s a fun way to showcase Flutter’s versatility.

One of the things we love about Flutter is that it’s not just a Google product—it’s an “everyone” product. Open source means we can all participate and benefit from its success, whether by contributing new code or documentation, creating packages that give the core framework new superpowers, writing books and training courses to teach others, or helping to organize events and user groups.

To showcase the best of the community, we recently partnered with DevPost to sponsor the Puzzle Hack challenge, giving developers the chance to show off their skills by reimagining the classic sliding puzzle using Flutter. It’s a great demonstration of how web, desktop, and mobile can come together: now we can all play the game online or via the store.

Editor's Note: There's a video here https://youtu.be/l6hw4o6_Wcs

Thank you for your support of Flutter, and welcome to Flutter 3!

Bonus

Here's an online learning resource for Flutter that the site owner has collected, hope it's helpful:

Keep Exploring

Related Reading

More Articles