There’s no denying that Google is everywhere. And not just on the Web or on Android. It has its apps and services even on rival platforms like Windows, macOS, and iOS. Writing and maintaining apps for all those is no walk in the park and time wasted on pushing pixels could be spent on actually implementing important features. To help itself as well as other developers on that same path, Google has developed the Flutter, now in its first stable 1.0 release, to help build “beautiful native” Android and iOS interfaces from a single codebase.
Flutter is Google’s answer to the age-old software development problem of hitting as many birds with one stone. That is, developing an app that targets as many platforms and devices with minimal effort. Current solutions, Google claims, require either limiting functionality down to the least common denominator or writing and building apps, again and again, each for a different platform.
It’s not the “write once, run everywhere” kind of toolkit though, at least not completely. Flutter is practically an app engine that can be used to build the user interface on top of existing Android and iOS app building models and API. You can either it on top of an already existing app, write a new app from scratch, or even embed native Android or iOS app “views” inside Flutter apps.
Flutter has long been in development but the direction that Google is presenting in version 1.0 practically confirms what most have suspected by now. Flutter is Google’s gateway to having a unified app ecosystem on all its supported platforms. There is already a third-party attempt to bring Flutter to desktops and Google itself has launched project Hummingbird for support on Web browsers.
In other words, Flutter is pretty much Google’s one UI toolkit that could, in any eventuality, make it easier for developers to transition to a single Google OS. Fuchsia OS is, after all, already using Flutter, making it almost immediately compatible with any mobile app that will switch to using Flutter instead of their platform’s native UI SDKs.