Flutter will be the default choice for future mobile and desktop apps created by Canonical.
Google’s open-source and cross-platform UI making framework has already proven popular with web devs looking for an easy “in” to fuss-free mobile and desktop app development.
Flutter is underpinned by the Dart programming language but the new desktop SDK (now available as a stable release) means there’s burgeoning support for crafting pseudo-native software that (we’re told) integrate well with desktop operating systems.
Canonical is an avid supporter of Flutter. Not only has it worked with Google to bring the Flutter SDK to Linux desktops via the Snap Store earlier this year but plans to create a new Ubuntu installer using the tech.
Now it’s confirmed it’s going all in on the tech.
Ubuntu Bets Big on Flutter
Canonical’s Ken VanDine works on the Ubuntu desktop. He popped up during Google’s recent Flutter Engage event to relay word about his company’s full support for the tech:
“We [Canonical] not only enabled Flutter for Linux we also worked with the Flutter team to publish the Flutter SDK as a Snap on the Snap Store, the app store for Linux,” said Ken.
“By publishing the Fluter SDK as a Snap we’ve made it very easy to install and set-up your development environment to build mobile, web, and desktop apps with Flutter on Ubuntu. Flutter is the default choice for future mobile and desktop apps created by Canonical”.
This is a pretty big commitment for a framework that, until a few months ago, wasn’t available for Linux desktops at all, much less stable enough for adoption by a leading distro maker.
Canonical clearly sees potential in Flutter, It has started work on brand-new Ubuntu installer using Subiquity server installer tech and a bespoke Yaru-styled Flutter UI.
But while Canonical’s backing is undoubtedly a win for the Flutter community, what benefits will Flutter apps offer Ubuntu users?
Native is about more than just widgets
Web-based tech has supposedly been “the next big thing” on desktop (and mobile, to an extent) for as long as I’ve been writing this blog… And yet it never quite happens. Not in the all-conquering, no-brainer, avalanche of adoption predicted.
Electron apps are perhaps the closet analog. Like Flutter, Electron apps are popular with web developers because they’re easier to learn, faster to build, and compatible with existing skill sets — or for want of a better term, they allow corners to be cut.
Desktop users, however, are less keen. Electron apps are routinely criticised for poor performance; not integrating with or supporting desktop features; and looking distinctly “different” from traditional apps.
Flutter tries to flatten many of these flaws. It boasts better performance, and allows devs to use web styles that “mimic” the UI of other systems. For instance, a Flutter app built for iOS can use a bunch of UI widgets modelled after native iOS ones.
Flutter isn’t Electron of course, but it faces some of the same obstacles to wider adoption (be those real or perceived) from an end-user’s POV.
The main one? Nativeness. None of the examples in Google’s Flutter Gallery perform as well as a natively coded app does. Not only do they feel different in use, but they look different too — even when trying to mimic the look of a specific system, as with iOS.
Many tiny inconsistencies — a laggy UI interaction here, an unstyled text label there, etc — feed into a broader sense of “uncanny valley” Or to put it bluntly: Flutter apps feel different and many users will avoid them because of this.
Canonical is working on a ‘Yaru’ style for Flutter app developers to to use. This is a logical idea. But, assuming the style is only as ‘skin deep’ as the iOS trappings Flutter gives mobile devs, this will be far from seamless.
And even if its visual “clothes” can pass muster, the Yaru style is only useful on one Linux distro among many. Devs who want to target other Linux distros won’t find Yaru all that useful, not without similar Flutter-side styles for other GTK and Qt themes.
An aside: ‘Flutter’ is a slang term here in the UK meaning to ‘gamble’ and it feels rather apt. Is Canonical betting big on Flutter a risk?
Google has a history of ‘abandoning’ projects that don’t align with its (ever-changing) priorities. Flutter is flavour of the moment right now but since mobile moves faster than desktop, it could just as easily fall out of favour too.
Which leads me back to my first thought: how does this benefit Ubuntu users?
Well, chances are it won’t.
Oh sure, we’ll get a new Ubuntu installer from Canonical, and maybe they’ll squeak out a couple of other apps that use it. But the vast majority of Linux apps (including those shipped on Ubuntu) will continue to be made by other developers, largely using “real” toolkits and programming technologies.
Let me know your thoughts down in the comments!