What Flutter Does
- Cross-platform — iOS, Android, Web, macOS, Windows, Linux, embedded
- Widget-based UI — everything is a widget, composition over inheritance
- Hot reload — sub-second UI updates during development
- Skia/Impeller — custom rendering engine, pixel-perfect across platforms
- Material Design 3 — Material widgets with theming
- Cupertino widgets — iOS-style controls
- State management — Provider, Riverpod, Bloc, GetX, Redux
- Packages — 40,000+ on pub.dev
- Native integration — method channels + Pigeon for type-safe bridges
- DevTools — profiling, widget inspector, network, CPU/memory
Architecture
Dart source compiles to native ARM64/x64 for release (AOT) or interpreted via the Dart VM in debug (JIT) enabling hot reload. UI is a tree of widgets that Flutter rasterizes with its own rendering engine on top of the platform canvas. Native plugins bridge platform APIs via method channels.
Self-Hosting
Open-source SDK. Install locally.
Key Features
- Single codebase for 6 platforms
- Hot reload and hot restart
- Custom rendering engine (Skia / Impeller)
- Material Design 3
- Cupertino (iOS) widgets
- Huge widget library
- 40,000+ packages on pub.dev
- DevTools profiler
- Firebase integration
- Custom animations and gestures
Comparison
| Framework | Language | Rendering | Platforms |
|---|---|---|---|
| Flutter | Dart | Own engine | 6 |
| React Native | JS/TS | Native components | iOS, Android, Web (sub) |
| SwiftUI | Swift | Apple | Apple only |
| Jetpack Compose | Kotlin | Android | Android + Desktop |
| .NET MAUI | C# | Native components | 4 |
| Qt | C++/QML | Own engine | 6+ |
FAQ
Q: Flutter vs React Native? A: Flutter draws its own UI (visually perfectly consistent but may look less native); RN bridges native components (more native look but cross-platform differences require handling). Flutter has more stable performance; RN has a larger ecosystem and JS community.
Q: Is it production-ready for Web? A: Yes, but the initial bundle is large (Dart runtime + CanvasKit). Suitable for app-like SPAs, not SEO-oriented sites.
Q: What is Impeller? A: Flutter's new rendering backend, replacing Skia. On iOS it solves the shader compilation jank issue and is the future standard.
Sources
- Docs: https://docs.flutter.dev
- GitHub: https://github.com/flutter/flutter
- License: BSD 3-Clause