At its I/O 2019 developer conference today, Google launched version 1.5 of Flutter, its open source mobile UI framework that helps developers build native interfaces for Android and iOS. But that’s no longer true: The mobile framework is now a multi-platform UI framework, supporting the web, desktop, mobile, and even embedded devices. Flutter’s mission has expanded to building “the best framework for developing beautiful experiences for any screen.”
Flutter was first announced as an early alpha at Google’s I/O developers conference in May 2017 and finally hit version 1.0 in December 2018. Meant to compete with frameworks like Facebook’s React Native, the library is designed to combine the performance and platform integrations of native mobile with the rapid development and multi-platform reach of portable UI toolkits. Flutter apps are built using Google’s Dart programming language.
For the past year, the Flutter team has been experimenting with broadening the scope of Flutter to other platforms. “This was triggered both by internal teams within Google who are increasingly relying on Flutter, as well as the latent potential of the Dart platform for delivering portable experiences,” the team explained today. One team worked on porting the Flutter engine to the standards-based web (codename Hummingbird) and another worked on enabling desktop-class apps, with input paradigms such as keyboard and mouse, window resizing, and tooling for Chrome OS app development.
Flutter for web
Google today released the first technical preview of Flutter for the web, designed for building “highly interactive, graphically rich content.” The team expects to rapidly evolve the code, with a “particular focus on performance, and harmonizing the codebase with the rest of the Flutter project.” Google is asking early adopters to try it out and provide feedback.
To showcase Flutter for the web, Google partnered with the New York Times to build a puzzle game demo. The Kenken puzzle game uses the same code on Android, iOS, the web, and Chrome OS.
Flutter for desktop
Flutter for desktop is no longer an experimental project — it has graduated into the Flutter engine. The targets are not production-ready yet, but Google has published early instructions for developing Flutter apps for Windows, Mac, and Linux.
While Flutter for web is at the technical preview stage, Flutter for desktop is more of a work in progress, Flutter group product manager Tim Sneath told VentureBeat. Neither are officially supported for production deployment, but the team expects rapid development on both fronts over the coming months.
At the same time, Flutter for Chrome OS use is growing, both for running Flutter apps and as a developer platform, since it supports execution of both Android and Linux apps. You can use Visual Studio Code or Android Studio to develop a Flutter app that you can test and run locally on a Chromebook without an emulator. You can also publish Flutter apps for Chrome OS to the Google Play Store.
Flutter for embedded devices
Finally, Google offers Flutter embedded on other devices. The team has published samples that demonstrate Flutter running directly on smaller-scale devices like Raspberry Pi. There is also an embedding API for Flutter for scenarios in automotive, the home, and beyond.
Earlier today at I/O 2019, Google announced the Nest Hub Max. It turns out that Flutter is already running on the smart display operating system. Some Google-built features for the platform are powered by Flutter, and the Google Assistant team plans to expand that list “in the coming months.” The goal is to use Flutter to drive the overall system UI this year.
Flutter for mobile devices
Finally, we have Flutter 1.5, which includes “hundreds of changes in response to developer feedback.” There are updates for new App Store iOS SDK requirements, updates to the iOS and Material widgets, engine support for new device types, and Dart 2.3 featuring new UI-as-code language features.
In addition to improving the framework itself, Google is also investing in the supporting ecosystem and package community. In the past few months, Google has contributed production-quality packages for web views, Google Maps, and Firebase ML Vision. This week, the company is adding initial support for in-app payments.
At I/O 2019, Google is highlighting the new ML Kit Custom Image Classifier, built using Flutter and Firebase. The kit offers an easy-to-use app-based workflow for creating custom image classification models. You can collect training data using the phone’s camera, invite others to contribute to your datasets, trigger model training, and use trained models, all from the same app.
In related news, Google has discounted The App Brewery‘s new training course for Flutter from $199 to just $10. The course features over 30 hours of content for Flutter, including videos, demos, and labs.
With the release of Flutter 1.2 in February, Google launched Flutter Create, a contest that challenged developers to “build something interesting, inspiring, and beautiful with Flutter using 5K or less of Dart code.” After receiving over 750 unique entries, Google is announcing the winners at I/O 2019. Zebiao Hu won the overall prize of a fully loaded iMac Pro.