At Mobile World Congress in Barcelona today, Google launched version 1.2 of Flutter, its open source mobile UI framework that helps developers build native interfaces for Android and iOS. The company also previewed a new web-based suite of programming tools called Dart DevTools to help Flutter developers debug and analyze their apps.
Flutter was first announced as an early alpha at Google’s I/O developers conference in May 2017 and then went through five more previews before its version 1.0 release 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.
Flutter 1.2 changes
Version 1.2 is Flutter’s first feature update (release notes) — a weird counting system means every beta and stable release gets its own version number (the last update was Flutter 1.1 beta).
Flutter 1.2 focuses on four major areas:
- Improving stability, performance, and quality of the core framework
- Polishing work on the visual finish and functionality of existing widgets
- Responding to several highly requested customer features: in-app payments and app bundles
- Adding new web-based tooling for developers building Flutter applications
Over the past few months, Google says it has fixed Flutter’s technical debt, cleared a backlog of pull requests, and improved performance and quality of the framework. Flutter also gained broader support for new UI languages such as Swahili.
Version 1.2 updates the Material widget set to support more flexible usage and the Cupertino widget set with improvements around achieving pixel-perfect fidelity on iOS (including support for floating cursor text editing). There is now a broader set of animation easing functions, plus support for new keyboard events and mouse hover. The last two are being made in preparation for desktop-class operating systems (more on that later).
Today’s update also adds support for in-app purchases and Android App Bundles, plus bug fixes for the video player, webview, and maps. Lastly, version 1.2 includes the Dart 2.2 SDK, which improves performance for compiled code along with new language support for declaring sets.
Google is also previewing a new web-based suite of programming tools today to help Flutter developers debug and analyze their apps. Dart DevTools is a new product that includes tooling for debugging and inspecting both Dart and Flutter applications. DartDevTools is now available for installation alongside Flutter’s extensions and add-ins for Visual Studio Code and Android Studio.
Dart DevTools promises the following capabilities:
- A widget inspector, which enables visualization and exploration of the tree hierarchy that Flutter uses for rendering.
- A timeline view that helps you diagnose your application at a frame-by-frame level, identifying rendering and computational work that may cause animation ‘jank’ in your apps.
- A full source-level debugger that lets you step through code, set breakpoints and investigate the call stack.
- A logging view that shows activity you log from your application as well as network, framework and garbage collection events.
Google hopes to turn Dart DevTools into a first-class unified tool for Flutter developers. The eventual plan is to build it directly into tools like Visual Studio Code.
Flutter’s 2019 roadmap
Finally, Google also released Flutter’s 2019 roadmap. The focus will be on growing Flutter beyond mobile platforms, as first announced along with Flutter 1.0’s release. The project codenamed Hummingbird brings Flutter to the web — a technical preview will be released “in the coming months.” The project named Flutter Desktop Embedding brings the framework to desktop-class devices that would package and deploy applications for operating systems like Windows and Mac.
Separately, Google has launched Flutter Create, a contest that runs until April 7. It challenges you to “build something interesting, inspiring, and beautiful with Flutter using 5K or less of Dart code.” Winners will be announced at Google I/O 2019.