Flutter Sees Desktop Progress, Wants Microsoft Partnership

Posted on June 17, 2020 by Paul Thurrott in Dev with 9 Comments

While Flutter for desktop remains in technical preview, Google today announced the progress it’s made so far plus some exciting new functionality that will make Flutter even more viable for creating apps in this environment. And it’s asking for Microsoft’s help.

“Our mission for Flutter is to target a broad variety of devices, including iOS, Android, Windows, Linux, macOS, and web from a single codebase, with native compilation and game-quality visuals,” Google’s Tim Sneath writes. “Within Google[,] Flutter is used by projects from Assistant to Stadia, from Cloud Search to Blogger. And outside of Google, Flutter has been adopted by companies from ByteDance to Grab, from Nubank to MGM Resorts, all of whom benefit from the productivity and flexibility of Flutter.”

Flutter’s support on mobile—Android and iOS—is today quite mature, and I’ve been stepping through the free App Brewery Flutter course that I mentioned back in April. But Google has been working to bring Flutter to other environments—web, plus Windows, macOS, and Linux—since last year, and sees the framework as the possible realization of the “write once, run everywhere” dream that Sun once had for Java.

To that end, it has been releasing support for desktop and web features in technical preview, and this week, Google says that it’s made some nice progress, including changes that will help Flutter better support desktop experiences. This includes display density support, better support for mouse and keyboard, platform query, the addition of a desktop navigation widget, and the start of a new Flutter plug-in model that can work across all supported platforms.

But the biggest news, to my eyes, the planned addition of support for Win32 and UWP code.

“On any platform, Flutter is embedded into a small host container app (an ‘embedder’), using a similar approach to game engines like Unity,” Sneath explains. “Windows offers two distinct approaches for creating this embedder. First, the mature Win32 programming model can be used to create the entry point for Flutter content; this offers maximum backward compatibility to platforms such as Windows 7 and builds a standard EXE file that many developers will expect. Conversely, the more modern UWP app model is the recommended approach for Windows 10 and offers intriguing opportunities for expanding Flutter support to devices such as Xbox or the upcoming Windows 10X.”

Sneath says that Google is working with various contributors to figure out the best solution on Windows, but he specifically asks for a partnership with Microsoft(!):

“We would gladly support a close collaboration with Microsoft to build a high-quality solution,” he says. “With the Surface family of devices extended to include Android and Windows, we think Flutter offers Microsoft a compelling platform for building beautiful native experiences that span their entire portfolio.”

Given my recent experience with UWP, Xamarin.Forms, and now Flutter, I can say with a small degree of certainty that this would be the ideal solution for cross-platform apps from Microsoft, and that Microsoft could support for third-party developers. I’d love to see this happen.

Join the discussion!

BECOME A THURROTT MEMBER:

Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Register
Comments (13)

13 responses to “Flutter Sees Desktop Progress, Wants Microsoft Partnership”

  1. martinusv2

    Hello Paul, you prefer to work with Flutter instead of Xamarin for cross-platform?

    • wright_is

      In reply to MartinusV2:

      He is going through a lot of technologies at the moment and writing a series of articles about each. He has already done .Net on Windows, now he has moved onto Flutter. I wouldn't necessarily call it a preference at this point, he is still experimenting and learning all the different platforms and frameworks.

  2. Sri Yogesh

    Totally agree, the flutter community is currently on fire and having a great windows flutter sdk could help drive application development. Most windows developers themselves are confused as to what Project Reuinion is.

    • lvthunder

      In reply to sriyogesh94:

      What is your evidence that most windows developers are confused about Project Reunion? I'm just a hobbyist developer and I understood the concept.

      • Paul Thurrott

        Actually, developers ARE all confused about Project Reunion, in part because Microsoft didn't even explain it correctly. So in response to this confusion, they've made major changes to how they describe what's happening. https://www.zdnet.com/article/microsoft-clarifies-project-reunion-plan-to-fix-windows-8-era-win32uwp-mess/
  3. lilmoe

    I've been extremely vocal about my dismay with Microsoft of 4 years ago. But, after many of our (.NET developers) cries, .NET 5+ is finally the revolutionary technology we've been yearning for. Its current incarnation is the biggest threat to the likes of Flutter and any other cross-platform app SDK, except with much more potential in what makes those solutions good. A single SDK (.NET) can be used for just about anything, and can be compiled either JIT or AOT, on ANY platform (provided a non-platform-specific project type is used, like WPF/WinForms).


    The tooling is simply the best, by a long, loooooong shot.

    The same .NET assemblies can finally run on Linux and Windows back ends.

    Blazor finally solves the Javascript nightmare.

    Maui marks the happy end of the UWP atrocity.

    ASP.NET Core kills the competition.

    EFCore is finally a usable and powerful flavor of EF.

    Java Interop is icing on the cake.

    The list goes on. AND (the kicker), IT'S ALL OPEN SOURCE (giggle), on GitHub, and packaged in Nuget.


    I'm glad I can be a .NET chearleader once more. Been a while since I was genuinely excited. I don't mind at all if Microsoft collaborates with Google for Flutter, it will give them better experience and insight to make .NET that much better.

    Can't wait for Google to release their Flutter Nuget package :P


    PS: Hey Node, Javascript....... SCREW YOU.


    • red77star

      In reply to lilmoe:

      I still use Web Forms and have no need to use Javascript, very little when needed.



    • Paul Thurrott

      So, I love all the .NET 5+ stuff. For sure. Here's the problem. Having used WinForms, WPF, UWP, and Xamarin.Forms over the past several months, I can say that Xamarin.Forms is a freaking mess, even though it's the logical place for .NET/Microsoft devs to go if they want to target mobile. It's just terrible. Even worse than UWP in some ways. But this ... "Maui marks the happy end of the UWP atrocity." Is also a problem. Because MAUI is not here today, so it doesn't mark anything right now. It will not be released until November 2021, about 18 months from now. Flutter is here today. And well before MAUI arrives, Flutter will provide true, full-featured cross-platform development that spans web, mobile, and desktop. And having used it most recently, I can say it is today much better, much, much better, than Xamarin for mobile dev. So the clock is ticking. From what I can see, Flutter is winning by a wide margin.
      • lilmoe

        In reply to paul-thurrott:

        It's been a while since we had any sort faith in their newer attempts, so I'm entitled to a bit of excitement and "big" statements. Help me out here, Paul, lol.


        I'm well aware that the Xamarin ecosystem, XAML (with all its other sub-set flavors), and other cross-platform attempts, prior to .NET 5, were a complete mess, hence my "dismay".

        While it might seem early to be excited, I can now say, with reasonable certainty, that it's all changing . I've been a .NET developer since 2002, and I can tell from a glance just how much it has changed since .NET Core 3.1. Unlike my unwarranted excitement (and invenstment) for UWP when it was first announced, the direction now is evidently different, less chaotic, disciplined, with a much clearer direction and roadmap. This is NOT a sub-set of .NET, this is NOT a side-project, this is the entire .NET ship they're moving, with all of their weight as their de facto development platform, just like it should have been from the very start in 2002.


        While Xamarin (current) will still be "supported", it's also changing to the new roadmap. There will only be one .NET, running everywhere, and all other project types are running on the same runtime, sharing the same BCL. This is HUGE. The library, 1st and 3rd party, will be shared among ALL project types, unless they specifically target a platform UI (just like it's supposed to be).


        I've been an Angular developer for the past 3 years, so I'm pretty familiar with the Google "way", and I can tell you it's absolutely hellish to build and maintain enterprise applications under a Google ecosystem. It's horrible. Nowhere near Microsoft in terms of support, backwards compatibility, and compatibility. While my thoughts on Flutter might be a bit premature since I don't have that much experience with it (other than a couple small projects), I have good reason to believe that it won't be a big step up.


        App development and life-cycle are a completely different beast than simply downloading the SDK/tooling, building hello-world and running it on multiple platforms. Unlike Microsoft, support and maintenance are not Google's strong suites. Not by a long shot. Read the previous reply by red77star, he's still using Webforms, to this day, and probably with less issues than I have with Angular.


        Yes, it'll take time to fully understand the extent of the new direction in .NET 5. But it will be all clear in the future, promise.

        • Paul Thurrott

          Like you, I am very excited about .NET 5+. Check out Flutter. It is very different from the .NET/XAML stuff, so the learning curve is tough. But it is incredible. And if you want to stay in the .NET ecosystem, there are plenty of places to turn, not just MAUI, but Blazor (for web) and more. I see Microsoft's approach here as being pretty logical: Give its developer base a way forward. Many ways, really.
  4. paradyne

    So I went and had a look at Flutter. It seems you need to write for it in Dart. Went and had a look at Dart. Hmmm, oh dear.


    Yeah, well it's not inspiring me to dig much deeper right now. Not compared to having F# and C# with .net


    Also it's from google. Their track record on continuing with projects and support for things is... well they dropped support for their track record didn't they?

    • Paul Thurrott

      You had to learn C# and F# at some point, too. And is there some long list of popular developer frameworks that Google created and then stopped supporting that I'm missing?
  5. anderb

    Didn't Microsoft acquire Electron with the github purchase? So they already have a framework for creating (bloated) cross-platform apps that is in widespread use. Are they really going to contribute to a project that, if successful, will give control back to google for the sake of more efficient Windows versions of the cross-platform apps?

Leave a Reply