Go on, devs, have a Flutter on Linux desktop apps: Google and Canonical launch alpha SDK

App framework extends its reach to Canonical’s Snap Store

Google has hauled in Canonical to help extend the search giant’s Flutter development framework to support Linux desktop applications.…

Google has hauled in Canonical to help extend the search giant’s Flutter development framework to support Linux desktop applications.

Flutter, designed primarily for cross-platform mobile applications, is a UI toolkit which uses the Dart language. It has production support for Android and iOS, beta support for web applications (in which case Dart is compiled to JavaScript), and alpha support for desktop applications for macOS.

The Linux alpha SDK introduced today leaves Windows as the least well-supported, although there is an “early technical preview” of Windows support, according to the Flutter wiki.

Flokk, a Flutter application developed for the Linux desktop using the new SDK

Flokk, a Flutter application developed for the Linux desktop using the new SDK

According to Google, adding desktop support is a substantial challenge. “This work includes extensive refactoring of the engine to support desktop-style mouse and keyboard input as well as resizeable top-level windows,” said Google’s Chris Sells and Canonical’s Ken VanDine in a joint statement.

There is support for Google’s Material Design and access to OS features like the system menu bar and standard dialogs. The Linux support uses GTK, though there are plans to support embedding Flutter applications in other toolkits such as Qt and WxWidgets.

man in gold suit on beach lies on gold pillow

Google’s Fuchsia OS Flutters into view: We’re just trying out some new concepts, claims exec

READ MORE

Canonical’s primary goal is to persuade developers of existing Flutter applications to port them to Linux. “We are not choosing Flutter over any other existing framework or ecosystem,” Martin Wimpress, Engineering Director for Ubuntu Desktop, told The Reg. “We see lots of momentum in the Flutter developer community and around 80,000 Flutter apps published in other app stores.

“We want to invite those developers to bring their applications to desktop Linux and Ubuntu, just as we have done with GTK, Qt and Electron in the past. Our objective here is to further close the application parity gap for desktop Linux users and broaden the developer audience.”

Dart board

Time for a little bet on Google? App-building framework Flutter now fitted for more than phones – desktops, too

READ MORE

Snap! I was just about to say that…

One potentially contentious point is that Canonical will focus on building and packaging applications for its Snap Store. “Flutter developers are already familiar with publishing apps via an “app store” paradigm,” Wimpress told us.

“Snapcraft is the app store for Linux and this is a comfortable way for Flutter developers to reach a Linux audience. We add a Flutter extension to snapcraft to make building and publishing Flutter apps as frictionless as possible. The Flutter SDK is distributed as a snap and integrates with Visual Studio Code.

“We’ve worked with the developer of the Flutter extension for Visual Studio Code and that now features snap integration.”

An early example of a Flutter application for Linux is Flokk, an application for managing Google contacts and linking them with GitHub and Twitter identities, developed by the Canada-based developers and designers gskinner. Gskinner specialise in interactive media, confessing on its blog they are “old school Flash devs”, with Flutter the natural modern successor as a cross-platform and designer-focused framework.

Flutter appears to be a strategic project for Google and is linked to Fuschia, Google’s forthcoming new operating system, though the company has yet to commit to any specific plans for it. Flutter is the official UI toolkit for Fuchsia.®

Rojenx is a leading concept artist who work appears in games and publications

Check out his personal gallery here

This site uses Akismet to reduce spam. Learn how your comment data is processed.