Join Transform 2021 for the most important themes in enterprise AI & Data. Learn more.
Google has unveiled version 2.0 of Flutter, its open source UI development kit that helps app makers build cross-platform software from the same codebase. While the upgrade ushers in a spread of new features, today’s launch event was perhaps mostly designed to highlight Flutter’s continued transition beyond mobile to support apps wherever they reside — the web, desktop, and even emerging form factors such as foldables.
The internet giant first unveiled Flutter at its I/O developer conference back in 2017. Version 1.0 arrived on the scene in December, 2018 with support for Android and iOS apps, but in the two-plus years since, Google has extended support (somewhat) to include web apps, MacOS, Linux, Windows, and even embedded devices. However, they have all existed in various early-stage iterations that were either unavailable to most developers, or not designed for production-grade apps — and that is what’s changing today.
Flutter’s web development kit has been sitting in beta since 2019, but today sees it achieve equal citizen status with its Android and iOS brethren. For desktop developers, Google has also transitioned Flutter for Windows, MacOS, and Linux to the main “stable” release, edging it closer to prime time.
“This is a huge milestone for us — not only because the code itself is now ready for serious production-quality usage, but also because in the past it was only available to the tiny minority of Flutter users who were running the pre-release software development kit,” Flutter product manager Tim Sneath told VentureBeat in an email Q&A.
Using Google’s own Dart programming language, Flutter is designed to help developers build apps that feel native to each platform they run on, while sharing as much code as possible to avoid duplicating efforts.
There are countless unique platform-specific considerations that developers need to make when designing apps, including how people interact with their devices (e.g. touch and swipe on mobile, keyboards and mice on desktop), the different screen sizes that users consume content on, and even the language they use to write. This is why it has taken time to progress the various Flutter development kits through their release cycles.
“We’ve done a ton of work to get to this stage, including adding internationalization support, for example IME editors for languages like Chinese, new widgets like TreeView and DataTable that are designed for desktop support, and better support for Apple Silicon-powered development machines,” Sneath said.
On the Linux side, specifically, Canonical — the company that commercializes Ubuntu-related projects — also revealed today that Flutter is now its default framework for developing desktop and mobile apps for the Ubuntu operating system. This builds on last July’s announcement from Google and Canonical which kickstarted Flutter’s expansion into the Linux realm, and which also saw Canonical’s engineers contributing code to the Flutter project.
As part of this latest expansion, Canonical unveiled an early demo of a new Ubuntu installer app built on Flutter.
Other notable Flutter updates announced today include a beta release for the Google Mobile Ads SDK, which has been in early pilot mode before now, that offers various ad formats for AdMob and AdManager. And Google also rolled out Flutter plug-in updates spanning various Firebase services including Authentication, Crashlytics, cloud messaging, and cloud storage.
Meanwhile Dart hits version 2.12 today, with support for null safety (or “void safety”) which is designed to avoid those dastardly null exceptions.
Flutter by
Last April, Google revealed that 500,000 developers use Flutter each month. Nearly one year on, the company didn’t provide any update on that figure other than to say that “adoption continues to grow,” but the flagship number it is touting today is that there are 150,000 Flutter-powered apps on Google’s Play Store. It doesn’t have access to the same tracking abilities for other app stores (i.e. Apple’s) to provide data from elsewhere.
“Anecdotally, we know that there are apps where they add a Flutter app for one mobile platform, and then roll it back to the other later,” Sneath said.
In terms of who is using Flutter to build apps, well, Google itself is standing firmly behind it. Back in September, Google Pay started using Flutter, adding to Google Analytics, Google Ads, Google Shopping, Google Nest Hub, Stadia, among other Google products that were already using the development kit. Looking externally gives a better glimpse into which developers are placing their eggs in Flutter’s basket — they include real estate listings website Realtor.com, Chinese tech titan Tencent, Latin American fintech company Nubank, Square, and Sonos.
It’s clear why the underlying premise behind Flutter is a compelling proposition — fast and consistent cross-platform coding. But for larger, more complex enterprise apps, a native software development approach will likely remain the preferred approach by most companies due to Flutter being a relatively young framework, with fewer third-party software libraries and packages restricting developers.
“Ecosystems don’t grow overnight, and Flutter is still a new platform by some standards, but we believe the 15,000 packages and the companies represented above [e.g. Nubank and Realtor.com] are evidence of fast growth in filling the remaining gaps, such as they exist,” Sneath said. “We’re very encouraged by that continued growth.”
There is clear evidence that enterprises are interested in what Flutter has to offer, with heavily VC-backed Nubank going so far as to publish its whole ethos on why it’s using Flutter for cross-platform mobile development. According to Sneath, Flutter solves two core challenges for big companies.
“Firstly, they find it exasperating that to reach all their customers, they have to build the same app two, three, even four or more times,” he said. “There’s no good parallel for this duplication — they don’t build multiple billing systems, multiple payroll platforms, etc. It’s wasteful, and it leads to all kinds of second-order problems: how do you sim-ship multiple apps to multiple platforms, do all development teams have to go at the speed of the slowest, etc.”
The second problem Flutter solves, according to Sneath, is that enterprises may invest millions in creating and maintaining a suite of corporate brands, but they may then be restricted in what they can do with their digital properties due to their in-built limitations.
“Too often the tail wags the dog here — their customer-facing sites are driven by what the framework lets them do, rather than vice versa,” Sneath said. “They love that Flutter gives them control.”
Open source
The open source movement has gained steam over the past decade, with most of the major technology companies embracing it to some extent — Facebook has open sourced countless in-house projects, while Google itself is no stranger to open source. Microsoft, meanwhile, has worked hard to show that it’s all-in on open source, recently opining that it is now the accepted model for cross-company collaboration.
And this is a point worth picking up on — while Microsoft, Google, Amazon, Facebook et al often lock horns as competitors, the open source world is where they play nice. Google may be the largest single contributor to the Flutter framework, but that doesn’t tell the full story. “Of all the individuals that contributed to this release, the majority don’t work at Google,” Sneath said. “Of course, Flutter is more than just the core framework, there are about 15,000 packages available, the vast majority of which come from non-Google contributors such as Amazon, Microsoft, Adobe, Huawei, Alibaba, eBay, and Square.”
With the latest version of Flutter, Microsoft has added some notable contributions, particularly around its burgeoning focus on the “foldable” form factor which may entail devices with dual screens. Microsoft is now releasing code to support these new designs, allowing apps to leverage their unique functionalities.
And herein highlights why open source makes sense for this project — Google needs full industry and ecosystem buy-in for Flutter to flourish, and if developers can get full access to a codebase, they’re more likely to hang around.
“Software developers being able to see the code all the way down the stack is a huge plus point for a UI framework,” Sneath said.” Being able to debug through the layers rather than hitting a blackbox makes developers more productive. Being able to take a control or widget and fork it if it doesn’t quite meet your needs ensures that the framework itself is never a limiting factor. From a purely selfish perspective, being open source means we get contributions from a talented community. Being able to have our customers submit a bug and a fix at the same time, or fix something privately, is another huge plus.”
Flutter 2.0 is available to developers now.
VentureBeat
VentureBeat’s mission is to be a digital town square for technical decision-makers to gain knowledge about transformative technology and transact. Our site delivers essential information on data technologies and strategies to guide you as you lead your organizations. We invite you to become a member of our community, to access:
- up-to-date information on the subjects of interest to you
- our newsletters
- gated thought-leader content and discounted access to our prized events, such as Transform
- networking features, and more