Flutter
Google's UI toolkit for building cross-platform apps (iOS, Android, web, desktop) from a single Dart codebase. Flutter compiles to native ARM code for fast performance. Uses its own rendering engine (Skia/Impeller), not native widgets. Made by Google, used by Google Pay, BMW.
Google · Created Flutter in 2017
- Cross-platform apps needing consistent UI.
- Apps with custom/complex animations.
- Teams OK with Dart.
- When you need native widgets (use React Native or native).
- Web-only apps (use React/Vue/Next).
- When JS ecosystem matters (use React Native).
Definition
Flutter is a cross-platform UI framework using the Dart language. It renders widgets itself (via Skia/Impeller), not using native UI components. Compiles to native ARM for mobile and JS/WASM for web. Hot reload for fast development. One codebase for mobile, web, desktop.
Why it exists
To let developers build high-performance, visually consistent apps across all platforms from one codebase, with a fast development cycle (hot reload) and custom rendering.
How it works
Write Dart code with Flutter widgets. The framework renders to a canvas via Skia/Impeller (not native widgets). Hot reload updates the app instantly. Compile to ARM (mobile), JS/WASM (web), or desktop binaries. pub.dev for packages.
Scaling limits
Dart is a less popular language (smaller ecosystem than JS). Apps are larger (includes rendering engine). Not using native widgets means platform-specific UI needs extra work. Web performance is improving but not as good as native web frameworks.
Cost shape
Free and open source.
Alternatives
- React Native — JS/React ecosystem, native widgets, bridge overhead.
- Native (Swift/Kotlin) — Best platform integration, two codebases.
Failure modes
- App size (rendering engine bundled).
- Dart ecosystem smaller.
- Web performance.
- Platform-specific UI needs custom work.