Google Unleashes Flutter 2 And a New Era of Apps

In its initial releases, Flutter allowed developers to create apps that run on both Android and iOS. But now Google is setting its sights higher. Much higher.

“With Flutter 2, you can use the same codebase to ship native apps to five operating systems: iOS, Android, Windows, macOS, and Linux; as well as web experiences targeting browsers such as Chrome, Firefox, Safari or Edge,” Google’s Tim Sneath writes in the announcement post. “Flutter can even be embedded in cars, TVs and smart home appliances, providing the most pervasive and portable experience for an ambient computing world.”

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

With the release of Flutter 2, Google’s app development framework officially evolves from a mobile framework to a portable framework, allowing apps to run virtually anywhere there’s a screen. The biggest news in this release, perhaps, is Flutter’s support for web apps hitting the stable milestone. Now, developers can port existing apps—of which there are over 150,000—to the web, or they can create new Flutter-based web apps. Flutter 2 supports three key web app types:

  • Progressive Web Apps (PWAs), which function like native desktop and mobile apps and provide key native app capabilities.
  • Single-page apps (SPAs), which load once and then transmit data to and from Internet services.
  • Flutter mobile apps, which can be ported to the web, enabling a shared code experience.

As you may know, Flutter is written in the Dart programming language, which is being updated to version 2.12 and now supports sound null safety, which will help developers catch common sources of app crashes, and Dart FFI (foreign function interface), for accessing C-based APIs, including, yes, the Win32 API used by Windows applications. But Dart has another secret power for the web: It can be compiled to JavaScript, which makes Flutter’s support for web apps more seamless.

And to address different needs, Flutter actually provides two choices when it comes to developing web apps: You can use an HTML renderer that is optimized for size and compatibility, or a CanvasKit renderer that is fully consistent with Flutter mobile and desktop apps and uses WebAssembly and WebGL to render Skia paint commands to the browser canvas. By default, Flutter apps for the web will use the HTML renderer on mobile and the CanvasKit renderer on desktop platforms.

While Flutter 2 is largely about the addition of web capabilities, the broader platform has also seen some interesting advances since the last major milestone. And key among those are some that come from Google’s Flutter partners, which are increasing their use of this technology in interesting ways. And two of these partners are of particular interest.

The first is Ubuntu-maker Canonical, which is partnering with Google to bring Flutter to the desktop. Moving forward, Flutter is the default choice for future desktop and web apps that Canonical creates for Ubuntu, and the new Ubuntu installer was built from the ground up using Flutter.

The second, believe it or not, is Microsoft. As you may know, Sneath and the Flutter team have been looking for Microsoft to put its weight and influence behind Flutter, and today we learn that the software giant is making contributions to the framework related to foldable Android devices like Surface Duo.

Ultimately, what Google is trying to accomplish with Flutter is that decades-long dream of writing code once that runs everywhere. But this time, finally, it seems attainable.

“With the ability to reach 6 platforms at once, the advantages to Flutter are real,” Mr. Sneath told me in a recent conversation. “This is a solution that works for large and small developers, and you can target the heterogeneous world in which we now live. We’re making it easier to get to all of those places at once.”

You can learn more about Flutter at the Flutter website. I hope to look more closely at Flutter 2 in the weeks ahead.

Tagged with

Share post

Please check our Community Guidelines before commenting

Conversation 22 comments

  • bart

    Premium Member
    03 March, 2021 - 1:34 pm

    <p>This is huge. Even Surface devices, like the unreleased Surface Neo, could potentially benefit from this.</p>

  • compsciguy31415

    03 March, 2021 - 1:45 pm

    <p>I wonder what will happen when Google moves on to the next development framework. Will they allow Microsoft and others to continue the development and maintenance? I know it's on GitHub, but who will approve the pull requests if Google pulls out?</p>

  • rmac

    03 March, 2021 - 3:32 pm

    <p>On dismissing a unified Blazor-MAUI platform, I wonder if Richard Lander will be eating his words, though it's completely bizarre why MS would want to support Flutter. They must be desperate to break the Apple model or they've got to me merging with Google?! </p>

    • Paul Thurrott

      Premium Member
      04 March, 2021 - 9:18 am

      We should stop seeing this as an us vs. them thing. Microsoft is embracing every developer technology it can. It’s the right thing to do.

      • rmac

        04 March, 2021 - 10:45 am

        <blockquote><a href="#616474"><em>In reply to paul-thurrott:</em></a><em> I wouldn't agree MS have embraced every UI stack.</em></blockquote><p><br></p>

  • ragingthunder

    03 March, 2021 - 4:03 pm

    <p>The whole Android development experience on Windows (or mac) is atrocious. The old-school Java-powered IDE leased from JetBrains is slow and painful to use. No comparison to tools like Visual Studio. I know there are other ways of building Google-sanctioned apps but most feel bloaty, under-optimised and out of place on traditional desktops. </p>

    • spiderman2

      04 March, 2021 - 4:35 am

      <blockquote><em><a href="#616318">In reply to ragingthunder:</a></em></blockquote><p>yeah, visual studio + xaml + c# is totally on another level, glad I don't have to deal with anything else</p>

  • scovious

    03 March, 2021 - 4:18 pm

    <p>I would wager anything that there is easy to use Google advertising support built in so devs can easily help Google make money from its staple product: Ads. Nothing wrong with that of course, unless there's no alternatives. </p><p>Otherwise I am curious how Flutter would handle game design, or if it's more tailored for 2D apps. Then again, Google seems like it's retreating from game design these days.</p>

  • brduffy

    03 March, 2021 - 5:24 pm

    <p>Flutter is pretty cool, but just because a framework can target 5 different platforms doesn't make it particularly good on any single one. I think there is a lot of promise for Flutter on the linux desktop and of course for Android. The web apps should be very good as well. On IOS and Windows you will probably find that you are compromising quite a bit from the native toolkit.</p>

    • Oreo

      03 March, 2021 - 6:35 pm

      <blockquote><em><a href="#616336">In reply to brduffy:</a></em></blockquote><p>All cross-platform frameworks produce mediocre apps. The more OSes they support, the lower the lowest common denominator. Seeing how badly Google’s apps work on iOS (especially the YouTube app), I don’t have much hope for Flutter 2 on non-Google OSes. </p>

      • Paul Thurrott

        Premium Member
        04 March, 2021 - 8:53 am

        “All cross-platform frameworks produce mediocre apps.”

        Woah, woah, woah. Have you looked at any Flutter apps? I don’t think that’s true anymore.

    • Paul Thurrott

      Premium Member
      04 March, 2021 - 8:56 am

      iOS support has been there all along and it seems fine. Desktop support is still in pre-beta at this point.

      • Salvador Jesús Romero Castellano

        07 March, 2021 - 4:07 pm

        <blockquote><em><a href="#616470">In reply to paul-thurrott:</a></em></blockquote><p>What do you see in Flutter that you don't see in Xamarin? If you don't mind to elaborate.</p>

        • Paul Thurrott

          Premium Member
          08 March, 2021 - 8:35 am

          Xamarin is a hot mess. It’s a complete non-starter.

  • rmac

    03 March, 2021 - 7:35 pm

    <blockquote><a href="#616346"><em>In reply to lvthunder:</em></a><em> MS were close to a ubiquitous platform with .NET back in 2001 – common data layer, common business layer, hybrid desktop/web UI. XAML came alone, mobile came along and XAML became fragmented. In November this year we ought to be back to where we were in 2001, only Google has meanwhile beaten MS to the next step with a single framework.</em></blockquote><blockquote><em>So the question is, why would you support a competitor who is eclipsing your efforts instead of focusing on finally making something similar happen? </em></blockquote><p><br></p>

    • Paul Thurrott

      Premium Member
      04 March, 2021 - 8:52 am

      Because it’s 2021, not 1999, and Microsoft is a partner in a heterogeneous world of personal computing, not some belligerent monopoly that doesn’t have to work with others?

      • rmac

        04 March, 2021 - 10:43 am

        <blockquote><a href="#616467"><em>In reply to paul-thurrott:</em></a><em> Point noted, MS is sounding a bit more like IBM or AWS these days. I would argue MS doesn't have to be a belligerent monopoly, it just needs to focus on getting a single, cross platform UI stack out of the stable. </em></blockquote><p><br></p>

  • dcdevito

    03 March, 2021 - 8:43 pm

    <p>Jack of all app platform trades, highest performer or feature richest of none of them. </p>

  • winner

    03 March, 2021 - 11:06 pm

    <p>Well, you have to admire the ambition.</p><p>But things like this have a way of never making it to their level of promise. Hopefully this time it will, though.</p>

  • Martin Sjöholm

    04 March, 2021 - 5:02 am

    <p>If only there had been, like, I dunno … a Windows based mobile OS …?</p>

  • IanYates82

    Premium Member
    04 March, 2021 - 8:29 am

    <p>Dart hasn't really caught on. I'll have to give it another look as it seems like it's not going away. If it can compile down to JavaScript then it can't be too complex and may well have some good syntax (although C# and typescript are awfully hard to beat) </p>

    • Paul Thurrott

      Premium Member
      04 March, 2021 - 8:47 am

      To be fair, there are over 150,000 Flutter apps published in the two mobile app stores. I’d say Dart has caught on. 🙂

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC