Draw mobile, web, and desktop app interfaces directly with a single codebase
You can build apps for iPhone, Android, Windows, Mac, Linux, and the web using a single codebase. Flutter is an SDK created by Google that focuses on implementing design intent exactly as intended and delivering fast performance. Developers can deploy apps for various platforms without writing separate native code.
Direct control over every pixel on the screen
Flutter provides a layered architecture that allows you to control every pixel on the screen. There are no limitations when layering graphics, video, text, and controls to create animations. It supports the Cupertino design system by default for iOS and the Material design system for other platforms, and you can also create entirely new visual components. Designers can implement their original intent without compromising on design due to framework constraints.
Speed implemented with hardware acceleration
It handles graphics processing using hardware-accelerated 2D graphics libraries such as Skia and Impeller. This is the technology that underpins Chrome and Android. Flutter is designed to render graphics without stuttering at the native speed of the device.
A development environment where code changes are reflected immediately
It offers a hot reload feature that reflects code changes on the screen immediately while preserving state. You can verify changes without restarting the app, which speeds up development. It includes editor plugins for Visual Studio Code and IntelliJ / Android Studio, and can be used with other development tools. It provides tens of thousands of packages to accelerate development.
Integration with native code
It is designed to work alongside existing native code. It supports FFI (Foreign Function Interface) on Android, iOS, macOS, Linux, and Windows, allowing easy access to other native code. It also supports platform-specific APIs. Flutter is a fully open-source project and welcomes contributions.
Things to check before use
Downloading or using the Flutter SDK requires agreeing to the Google Services Terms of Service. If installed from GitHub, it downloads the Dart SDK from Google servers upon first run or when executing the flutter upgrade command. This is necessary to run the flutter tool itself. You can join the flutter-announce mailing list to receive release and change notifications. The documentation also tracks breaking changes between releases.