Google expands UI framework Flutter from just mobile to multi-platform

In addition to mobile apps, developers will be able to use Flutter to build apps for the web, desktop and embedded devices -- all from a single code base.

Developer conferences: Have they jumped the shark and forgotten about developers? ZDNet's Mary Jo Foley and Larry Dignan lament how developer conferences such as Microsoft Build, Google I/O, Facebook F8 and Apple WWDC are more about corporate vision statements and less about the actual tools developers actually use. Read more: https://zd.net/2V0mt0A

About six months after the 1.0 release of Flutter, Google's open source UI framework for building both Android and iOS apps, Google is taking a major step to expand the framework. In addition to mobile apps, developers will be able to use Flutter to build apps for the web, desktop and embedded devices -- all from a single code base.

Also: The Pixel 3A is official: Here's what you need to knowAndroid Q: Everything you need to know

"This is potentially quite a game changer for companies that want to build and deliver apps to whatever devices their customers are using," Google's Tim Sneath told ZDNet. The expansion of Flutter, he said, is "going to change how people think about UI development and app development." 

The expansion was announced at the Google I/O conference, where Google released its first technical preview of Flutter for web and announced steps towards supporting desktop-class apps. To illustrate how Flutter can be applied to embedded devices, Google shared that the framework is powering Google's smart display platform, including the Google Home Hub.

While Flutter is relatively new -- it was first announced in February 2018 and was declared "production ready" at last year's Google I/O -- its expansion was in part motivated by teams using it internally at Google. One small team that was building a web framework for internal usage of the Dart platform began exploring the use of Flutter for the web.

For now, Flutter for the web isn't designed to replace  the document experiences for which HTML is optimized. Instead, it's intended as a way to build highly interactive, graphically rich content. To showcase this, Google teamed up with the New York Times to build a newly-refreshed KENKEN puzzle game built with Flutter. It runs with the same code on iOS, Android, web and Chrome OS.

Meanwhile, Google on Tuesday outlined how it's been adding support to Flutter for desktop-class apps  running on Windows, Mac and Linux. For instance, it's added input paradigms such as keyboard and mouse, window resizing, and tooling for Chrome OS app development. All of this work has been added to the core Flutter engine. While these targets are not yet production-ready, Google has published early instructions on GitHub for developing Flutter apps to run on Mac, Windows, and Linux.

Google also noted that Chrome OS is well-suited for running Flutter apps and as a developer platform, since it supports execution of both Android and Linux apps. A developer could use Visual Studio Code or Android Studio in Chrome OS to develop a Flutter app and then test and run it locally on the same device without an emulator.

The core Flutter mobile framework is also getting an upgrade, with the immediate availability of Flutter 1.5. Changes include 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.

Google also continues to add packages to support the core framework. In recent months, it contributed production-quality packages for web views, Google Maps and Firebase ML Vision. This week, Google is adding initial support for in-app payments.

As for embedded devices, Google offers an embedding API for Flutter. Within Google, the Google Assistant team used Flutter to build features for the smart display operating system that powers Google Home Hub. By the end of the  year, the team aims to use Flutter to drive the overall system UI. Google also recently published samples that demonstrate Flutter running directly on smaller-scale devices like Raspberry Pi. 

The expansion of a portable UI framework should help both large and small organizations reach their audiences without the time and cost of redundant development, Sneath told ZDNet.

"What a lot of people do now is write five or six applications -- they write an iPhone app, an Android app, a web version," he explained. "That's been a real problem for businesses and developers of all sizes for a long time. I can think of no other space where you have to do the same thing twice over to achieve your business goals."

Flutter has already gained notable traction, Google pointed out. A number of major brands are already developing apps with Flutter, including eBay, Sonos, Square, Capital One, Alibaba and Tencent. Meanwhile, a LinkedIn study recently showed Flutter is the single fastest-growing skill among software engineers, based on site members claiming it on their profile over the last 12 months. And in the recent 2019 StackOverflow developer survey, Flutter was listed as one of the most-loved developer frameworks.

To accelerate Flutter adoption, Google announced that The App Brewery has built a comprehensive new training course for Flutter. It has more than 30 hours of content for Flutter, and with Google's sponsorship, they are offering a time-limited discount of this course from the retail price of $199 to just $10.

More from Google I/O: