Google has been hard at work creating and expanding Flutter for the past few years. When we last talked about Flutter, Google rebuilt DevTools entirely from scratch in Flutter for better performance, greater versatility, and to demonstrate their confidence in this app development framework. Google envisions Flutter as a programming framework that developers can use to build apps that target multiple systems, so the team is constantly working to improve Flutter's support for platforms. Today, Google has announced that it is partnering with the Ubuntu Desktop Team at Canonical to bring Flutter apps to Linux.

To recap, Flutter is a cross-platform programming framework that essentially lets developers create apps with beautiful UIs across Android, iOS, web, and Desktop. Flutter as a programming framework makes use of Dart, the programming language, to create Flutter apps. Flutter 1.0 arrived in December 2018 after 10 months of being in beta. And now, at this stage, the framework's support for building iOS and Android apps is quite mature. But that's not the case for building web, macOS, Linux, or Windows apps. Google has been renewing its effort for non-mobile platforms, and today's announcement is the most recent one in a line of releases for non-mobile platforms. Version 1.9 brought over early support for building apps for macOS, while v1.12 improved macOS and Web support and promoted them to the beta branch. Developers could technically create Flutter apps for Windows and Linux as well at that stage, but the libraries were in a pre-alpha state, and the APIs could change without notice.

Last month, Google showed off significant progress on building Flutter apps for Windows and Linux. In a Medium post, Product Manager for Flutter, Mr. Tim Sneath summarized the team's progress on the framework's support for building apps with desktop interfaces. The team added display density support, better mouse and keyboard support, platform queries, and a desktop navigation widget. Further, they were working on a plugin model that works across all platforms. Coupled with Dart's Foreign Function Interface (FFI) and a "Win32" plugin, Flutter apps could behave like native Windows app that are shipped as an EXE file, and also be backward compatible up to Windows 7. Universal Windows Platform (UWP) support, meanwhile, enables support for platforms like the Xbox and Windows 10X.

Today's announcement of Linux alpha for Flutter comes with the blessings of Canonical, the publisher of Ubuntu, which is the world's most popular desktop GNU/Linux distribution. Thanks to this partnership, developers will be able to deploy their Flutter apps to the Snap Store or other modern Linux deployments. The Snap Store comes with Ubuntu 20.04 Focal Fossa release, so having direct access to the Snap package management system is a big plus for deploying apps on Linux.

By making Linux a first class Flutter platform, Canonical is inviting application developers to publish their apps to millions of Linux users and broaden the availability of high quality applications available to them.

Canonical is also making a significant investment in the framework by dedicating a team of developers to work alongside Google's developers to bring the best Flutter experience to the majority of Linux distributions. The announcement further promises that Canonical and Google will continue to collaborate to further improve Linux support and maintain feature parity with other supported platforms.