Google has hauled in Canonical to help extend the search giant’s Flutter development framework to support Linux desktop applications.
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.
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.
Google’s Fuchsia OS Flutters into view: We’re just trying out some new concepts, claims exec
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.”
Time for a little bet on Google? App-building framework Flutter now fitted for more than phones – desktops, too
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