For years, Google has been working on a cross-platform app development SDK for Android and iOS called Flutter. Since entering beta early this year at Mobile World Congress, Flutter has seen incredible growth. Today, at its first ever major standalone event, Flutter Live, the SDK leaves beta with the release of Flutter version 1.0.
For the unfamiliar, Flutter is Google’s answer to the complexity of developing a consistent app between the drastically different Android and iOS platforms. Unlike other cross-platform solutions like React Native and Xamarin which use native components, Flutter uses its own visual engine, based on Chrome’s Skia, to render your apps in a consistent manner.
Plenty of big names have backed Flutter while it was still in pre-release phase, including Abbey Road Studios, Alibaba, and Hamilton. Google themselves have also put their money where their mouth is, by moving their critical Google Ads app to Flutter.
It’s also impossible for me to talk about Flutter without also mentioning that it is one of the primary app development methods for Google’s upcoming operating system, Fuchsia. We’ve covered Flutter’s importance to Fuchsia before, and even made our own Fuchsia app with it. Significant parts of what we knew to be Fuchsia’s core user interface were even built with Flutter.
Since Release Preview 2 earlier this year, nothing huge has changed for Flutter. Between performance and stability gains from Dart 2.1 and fixing bugs of their own, the Flutter 1.0 release is entirely focused on stability — both for developers’ apps and Flutter’s tools.
The future of Flutter
Looking forward, there are two major improvements headed to Flutter in the coming months, one to help fit Flutter into existing Android and iOS apps, and one to fit pieces of Android and iOS into Flutter.
Instructions have existed for ways to integrate Flutter into existing Android and iOS apps, but Google has promised to make this “Add to App” process more straightforward for the next release.
Conversely, Flutter applications will soon be able to display native components from Android and iOS via “Platform Views.” These Platform Views will allow developers to swiftly integrate previously written native components into their new Flutter application.
The best example given is a Google Maps view. Rather than needing to recreate Google Maps in Flutter, one can simply use the native versions available to iOS and Android via Platform Views. The best part about this is that these native components will be handled just like any other Flutter widget.
I got the chance to speak with Google’s Product Manager for Flutter, Tim Sneath, about Platform Views. He wanted to assure developers that Platform Views are not merely “a stopgap solution” for use while developing a Flutter version of a particular native view, but that Platform Views will be a “useful tool to add to any developer’s toolbox.”
These improvements will likely land in the next stable release, slated for February. Going forward, Flutter is expected to offer stable updates quarterly. The brave are welcome to use one of Flutter’s other release channels to try these features sooner.
Having actually spent a great deal of hands-on time with both Flutter and Dart, I have to say that it’s now honestly easier to create a cross-platform app with Flutter than a native one for either iOS or Android.