Flutter and Ubuntu so far

At Flutter Engage, Ken VanDine, engineering manager for the Ubuntu desktop,  made an appearance in the keynote speech to talk about Flutter on Ubuntu. Canonical has been working to support Flutter for some time now, bringing the SDK to Linux, committing to build a new Ubuntu installer, and now, making Flutter the default choice for future Canonical mobile and desktop apps. We thought we’d take this opportunity to talk about what all this means and why we’re doing it. 

Flutter and Ubuntu, Ubuntu and Flutter

Back in July 2020, we (Canonical along with Google’s Flutter folks) announced support for the Flutter app ecosystem. This was the first step towards Flutter being available for Linux through their alpha release. From there, Ubuntu Desktop engineers hit the ground running. You’ll find a full list of updates about their work in the team’s weekly discourse posts as far back as April. In that list, you’ll see that in August of 2020 the team started to discuss building a new Ubuntu installer, and Flutter was on the list of possibilities.

Well, in February 2021, we announced that the installer would be refreshed and it was being made with Flutter. This came out of a desire to deliver a refreshed installer experience across all of Canonicals products and, after some deliberation, Flutter was chosen to be the best option. Now, as of Ken’s words at Flutter Engage, and our involvement in the event, we are making sure Flutter is a first-class experience and stays high on our list of platforms for consideration when designing future mobile and desktop apps.

What this means

  • Desktop app developers have another option for developing applications that they know Canonical will continue to support.
  • Linux developers will be able to create apps more easily to work across platforms (desktop, mobile and IoT) and operating systems to target Windows and macOS too. 
  • The desktop team will be working with the Yaru team to ensure Flutter apps are consistent with the design of the Ubuntu Desktop.
  • Flutter becomes a first-class citizen for snaps and in snapcraft

Why though? 

There are of course numerous options when it comes to developing new apps. Typically, for the desktop, you want to optimise your app to ‘look right’ with the underlying OS, for performance, and for proper integration with OS features and capabilities. Canonical’s work here meets all of these criteria.

Given that Canonical is going to be making applications for Ubuntu you can count on us putting work into making sure Flutter apps ‘look right’ in the Desktop.  Flutter even allows developers to use web styles that can ‘mimic’ the UI of the system. So a Flutter app built for Ubuntu can use a collection of widgets modelled purposefully after native Ubuntu desktop designs. Flutter has better performance than alternatives such as Electron and while it isn’t as performant as native development platforms, it does so well that the ability to develop for multiple platforms and across operating systems outweighs the difference. And by the same reasoning, proper integration will be taken care of.

This is all well and good but most notably, Flutter is a truly cross-platform tool and is open source. If the Linux ecosystem at large picks this up there is a tremendous opportunity for massive ecosystem expansion. The vast majority of Flutter’s codebase is written in Dart code (using Dart only packages), and just works with no modifications necessary across all the platforms. And since the announcement in July last year, the number of plugins is slowly but surely increasing for Linux. Cross-platform development doesn’t just mean Linux developers can write apps for other platforms, it means Flutter developers for any other platform can contribute their apps to Linux and expand the Linux app ecosystem indefinitely.   

There is even talk of future support for Universal Windows Platforms. Imagine deploying your Linux app to your Xbox. 

Get started with Flutter on Ubuntu

We recommend you give it all a try and tell us what you think. Since this is still relatively early days in terms of getting everything set in Ubuntu there are a couple of gotchas when first getting started but there’s a tutorial for that. And of course, we encourage you to get involved. These are some links to the new desktop installer and associated technologies that you can help with.  

If you have questions come and say hello over at the Ubuntu Discourse


Ubuntu desktop

Learn how the Ubuntu desktop operating system powers millions of PCs and laptops around the world.

Newsletter signup

Select topics you're
interested in

In submitting this form, I confirm that I have read and agree to Canonical's Privacy Notice and Privacy Policy.

Related posts

Ask Me Anything: Ubuntu Core 20

Ubuntu Core 20 was recently released. What can it do for IoT developers? How does it work? What’s new? If you are asking yourself any of these questions, or...

Running an open source multi-cloud with Ubuntu, LXD, and Mist

This is a guest post authored by Chris Psaltis. We are reproducing it here with Chris’ permission. Chris is the co-founder and CEO of Mist.io and uses Ubuntu...

Why is Ubuntu Linux the leading choice to replace CentOS for Finserv infrastructure?

Operating systems are the foundation blocks of technology stacks in organisations. When considering an open source operating system for Finserv...