Flutter is a framework for creating applications in the Dart programming language, which can function across many different desktop and mobile platforms. It now powers many applications and games, including Google Pay, eBay Motors, Google Stadia, WeChat, and others. Even though it’s most widely used for creating Android, iPhone, and iPad apps, a few high-profile desktop applications are written in Flutter too, like the installer for Ubuntu Linux.
Google revealed Flutter 3 today during its Google I/O presentation, which adds a few important features for app and game developers using Flutter. Linux and macOS are now fully supported, in addition to Windows (which was added to the roster back in February), including native support for Macs with Apple Silicon (M1) chipsets. For those of you keeping track at home, that means Flutter apps can work across Android, iOS/iPadOS, macOS, Windows, Linux, and the web. Granted, not all functionality is available on all platforms — web apps can’t access all your files, even if they are built with Flutter — but it’s still an impressive achievement.
Play Video
Google highlighted Superlist, a to-do and task management application, as a high-quality desktop application built with Flutter. Even though the app is currently only available for Mac, the team mentions they are building Windows, Android, and iOS versions with the same codebase.
Flutter 3 also includes mostly-complete support for Material You, the dynamic theme feature available on most phones and tablets running Android 12 or later. Material You generates color palettes from your phone or tablet’s wallpaper and themes, and now Flutter apps can easily use them across their designs.
To show off Flutter’s capability for building games Google also created a 3D pinball game in Flutter that runs on the web, with online high score tracking. You can play it in your browser, and it’s pretty fun (especially if you played plenty of 3D Pinball on Windows back in the day).
Flutter is now officially supported on all major desktop platforms, but it remains to be seen if many popular applications will start switching to it. Most cross-platform desktop apps are currently built with Electron, which uses web standards like JavaScript and HTML. Discord, Slack, Visual Studio Code, Skype, and many other apps use Electron, but the framework has been criticized over the years for its high memory and CPU usage — each Electron app is essentially its own copy of Google Chrome. Flutter generally seems to have lower CPU and RAM usage than Electron, while offering faster performance.