Today, at Flutter Live, we’re announcing Flutter 1.0, the first stable release of Google’s UI toolkit for creating beautiful, native experiences for iOS and Android from a single codebase. Cross-platform mobile development today is full of compromise. Developers are forced to choose between either building the same app multiple times for multiple operating systems, or to accept a lowest common denominator solution that trades native speed and accuracy for portability.
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. 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. We think of the characteristics of Flutter along four dimensions: Lastly, Flutter is open.
Flutter is an open source project with a BSD-style license, and includes the contributions of hundreds of developers from around the world. In addition, there’s a vibrant ecosystem of thousands of plug-ins. And because every Flutter app is a native app that uses the standard Android and iOS build tools, you can access everything from the underlying operating system, including code and UI written in Kotlin or Java on Android, and Swift or Objective-C on iOS.