“With Flutter, we believe we have a solution that gives you the best of both worlds: hardware-accelerated graphics and UI, powered by native ARM code, targeting both popular mobile operating systems,” read the posting on Google’s Developer Blog. “Flutter doesn’t replace the traditional Apple and Android app models for building mobile apps; instead, it’s an app engine that you can either embed into an existing app or use for an entirely new app.”
For the past year, ever since it unveiled the beta version of Flutter, Google has emphasized the platform’s supposed speed, thanks to its reliance on the hardware-accelerated Skia 2D graphics engine (which also drives Chrome and Android). “We architected Flutter to be able to support glitch-free, jank-free graphics at the native speed of your device,” added the blog posting. “Flutter code is powered by the world-class Dart platform, which enables compilation to native 32-bit and 64-bit ARM code for iOS and Android.”
For developers, Google has also introduced a feature called “stateful hot reload,” which sounds like something a video-game character can do to load up on ammunition. This feature allows developers to institute changes in their code, and see the results, without needing to restart the app. In theory, this speeds up the development cycle.
Since this year’s beta, Google has added more features, including support for Firebase services, boosted performance, and integration with Dart 2.1 (Google’s object-oriented, garbage-collecting programming language). There’s also tooling and documentation for updating existing mobile apps, in addition to creating new apps from scratch, because some developers will presumably engage Flutter to help with existing projects.
Over the past several months of development, Google has eaten its own dog food (so to speak) and used Flutter to develop and run internal apps such as Google Ads for iOS and Android. That’s a promising sign, but developers who want to use Flutter to build or modify their Android or iOS apps could run into some issues; for starters, Flutter won’t necessarily let them tap into native frameworks such as SpriteKit—Flutter-based apps will be performant, but not optimized. For some app-makers, though, just having a functional app could be a perfectly fine endpoint.