Announcing Flutter Release Preview 1
Today, we’re delighted to announce Flutter Release Preview 1, signaling a new phase of development for Flutter as we move into the final stages of stabilization for 1.0.
Flutter progress since Google I/O
Google I/O last month was something of a celebration for the Flutter team: having reached beta, it was good to meet with many developers who are learning, prototyping, or building with Flutter. Through the various technical sessions, we covered topics like UI design with Flutter and Material, mobile development with Flutter and Firebase, and architectural practices for complex Flutter apps.
It was also good to showcase some of the early apps that are using Flutter, as this video highlight reel demonstrates:
In the aftermath of Google I/O, we continue to see rapid growth in the Flutter ecosystem, with a 50% increase in active Flutter users.
One common measure of popularity and momentum is the number of GitHub stars, and we’ve also seen growth here, with Flutter recently becoming one of the top 100 software repos on GitHub. Indeed, even compared to many other popular open source projects, Flutter has been growing rapidly since the first beta in February, as shown in this graph (source):
In the weeks following I/O, we have been greatly encouraged by the number of user groups, meetups, and events that have sprung up all over the world. We’ve seen over 150 individual Flutter events taking place across fifty countries: from New York City to Uyo, Nigeria; from Tokyo and Osaka in Japan to Nuremberg, Germany.
In addition to these worldwide community events, we’re also starting to see early adopters of Flutter publish their work to the Apple and Google stores. At Google I/O, we highlighted some apps and endorsements such as Alibaba, Groupon, and Google AdWords; it’s since been fun to see both larger and smaller-scale apps starting to appear from the community. Here are a few diverse examples from around the world:
- Suez Canal Authority (Egypt): Android, iOS
- CARTUNE (Japan): Android
- Reflectly (Denmark): Android
- Tengwar (Middle Earth Elvish script) transcriber (Germany): Android, iOS
- Beer Me Up (France) — Android, iOS
Announcing Flutter Release Preview 1
Today we’re taking another big step forward, with the immediate availability of Flutter Release Preview 1.
The shift from beta to release preview signals our confidence in the stability and quality of what we have, and our focus on bug fixing and stabilization.
We’re making this announcement during the keynote of the GMTC Global Front-End Conference in Beijing, China, a gathering of around a thousand front-end and mobile developers sponsored by GK Tech and InfoQ China. China is a logical venue for this announcement, as we’ve seen particularly strong adoption for Flutter by leading companies there. In particular, Alibaba has now deployed their Flutter-based app to millions of devices, and Tencent is currently rolling out their NOW app with Flutter.
We are encouraged by the growing number of contributions we’re seeing from the broader community. External contributions to Release Preview 1 include Flutter support for hardware keyboard and barcode scanners, video recording, and including a folder of image or font assets. In addition, we’re seeing many new packages contributed to the package site, such as Flutter Platform Widgets, a set of widgets that automatically adapt for iOS or Android; mlkit, a wrapper for the Firebase MLKit APIs; and Sequence Animation, which helps with constructing a series of connected animations.
As for the Flutter team, our focus has shifted slightly towards scenario completeness. We’ve continued to improve the video player package, with broader format support and reliability improvements. We’ve further extended Firebase support to include Firebase Dynamic Links, an app solution for creating and handling links across multiple platforms. We’ve broadened support to include 32-bit iOS devices with ARMv7 chips, enabling apps written with Flutter to run on older devices (like the iPad Mini and iPhone 5c) that remain popular across the world.
Lastly, we’ve added experimental instructions on adding Flutter widgets to an existing Android or iOS app. While some iOS and Android apps in production already use this approach, we are working on improving our documentation and tooling to make it much easier to develop a mixed app. Keep an eye on this wiki article to follow our progress.
How do you upgrade to Flutter Release Preview 1? If you’re on the beta channel already, it just takes one command:
$ flutter upgrade
Tooling for Flutter Release Preview 1
We continue to make significant improvements to Flutter tools, with a new update of the Flutter extension for Visual Studio Code adding a new outline view, statement completion, and the ability to launch emulators directly from Visual Studio Code.
Google is not the only organization working on Flutter tooling. One community effort that shows early promise is Flutter Studio, a web-based tool for creating Flutter-based user interfaces. The tool has property editors for each of the 50+ Flutter widgets it supports, so it’s a good way to explore the widget catalog. The tool itself is written in Dart — the same language used to build Flutter apps. You can read more about how it was built on the developer’s blog, where he also talks about his positive experiences with building a large web app with Dart.
Flutter in China
China has the third largest population of developers using Flutter, after the USA and India. We are hugely appreciative of the local developers who have helped us with China-based mirrors of the pub package site and community-maintained translations of the code labs. A Flutter in China website is now available — launched jointly with the community to help developers in China build their skills.
It’s been fun to watch others encounter Flutter for the first time. This article from an iOS developer who has recently completed porting an iOS app to Flutter is a positive endorsement of the project’s readiness for real-world production usage:
“I haven’t been this excited about a technology since Ruby on Rails or Go… After dedicating years to learning iOS app dev in-depth, it killed me that I was alienating so many Android friends out there. Also, learning other cross platform frameworks at the time was super unattractive to me because of what was available… Writing a Flutter app has been a litmus test and Flutter passed the test. Flutter is something I feel like I can really invest in and most importantly, really enjoy using.”
As we get ever closer to publishing our first release from the “stable” channel, we’re ready for more developers to build and deploy solutions that use this Release Preview. There are plenty of training offerings to help you learn Flutter: from I/O sessions to newsletters to hands-on videos to developer shows. And we have discussion groups, chat rooms, and community support available to get you through any stumbling blocks you may encounter. We’re ready for you!