At Mobile World Congress 2018 in Barcelona today, Google launched the first beta release of Flutter, the company’s open-source mobile UI framework that helps developers build native interfaces for Android and iOS. 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 program manager Seth Ladd described to VentureBeat how the mobile-first UI toolkit works. “Flutter compiles to native ARM code. That’s great for really fast startup and predictable performance for users. It’s also native in that we reach back out to the native platform and let developers bring out the power of that platform. Flutter has also taken special care and design to deliver a UI that feels natural to users.”
Google lists three benefits of using Flutter when building mobile apps:
- High-velocity development with features like stateful Hot Reload, a new reactive framework, rich widget set, and integrated tooling.
- Expressive and flexible designs with composable widget sets, rich animation libraries, and a layered, extensible architecture.
- High-quality experiences across devices and platforms with our portable, GPU-accelerated renderer and high-performance, native ARM code runtime, and platform interop.
Hot Reload deserves its own explanation: “In partnership with the Dart team and the design of our reactive framework, we let developers make a change to their code, hit the Hot Reload button, and in under a second see that change on their hardware devices, emulators, or simulators,” Ladd explained. “And it’s a stateful hot reload, which means it’s better than the web’s edit refresh cycle — a very good experience. We keep the app running and the state of your app resident while you change the code through this hot reload. This means you can drill down into that third or fourth screen as you’re building up your app and paint that screen without tearing down the app for every change you make. Once people experience sub-second hot reload and realize that they can basically paint their app to life, they’re hooked.”
Flutter first launched as an alpha in May 2017 at the company’s I/O developer conference. If you already have Flutter installed, by the way, you can switch to the beta channel with one simple command:
flutter channel beta.
Since the alpha release, Google has added screen reader support and other accessibility features, right-to-left text, localization and internationalization, iPhone X and iOS 11 support, inline video, additional image format support, ability to run Flutter code in the background, “and much more.” The team also implemented support for Android Studio, Visual Studio Code, platform interop to expose the power of mobile platforms to Flutter code, improved stateful hot reloads, and a widget inspector. Oh, and there are now over 1000 packages that work with Flutter.
Despite the fact it’s still not ready for a stable release, Flutter has been used in production apps with millions of installs, Google highlighted. The company didn’t offer an exact date for when Flutter is expected to come out of beta but did note that new betas will be released “approximately every four weeks” and that the current focus is stabilization and scenario completion. Developers can check out the issue tracker and Getting Started guide for more information.