Flutter
Flutter is Google's cross-platform UI framework for building applications from a single Dart codebase. Unlike React Native, Flutter does not use platform-native UI widgets; it renders its own widgets pixel-by-pixel via the Skia (and now Impeller) graphics engine. The result is highly consistent visuals across iOS, Android, web, desktop, and embedded.
Core ideas
- Dart. The language: statically typed, ahead-of-time compiled for release, JIT for dev (hot reload).
- Everything is a widget. UI is built by composing immutable widget trees; state is held outside in
Stateobjects. - Own rendering. Flutter draws every pixel itself, so an iOS Flutter app does not call UIKit; it shows its own controls.
- Hot reload. Sub-second rebuild of UI changes during development, a hallmark feature.
Where Flutter runs
- iOS, Android (primary)
- Web (limited; canvas/HTML renderers)
- macOS, Windows, Linux desktop
- Embedded devices (Toyota infotainment, BMW, set-top boxes)
Common ecosystem
- State management: Riverpod, BLoC, Provider, GetX, MobX
- Navigation: go_router, auto_route
- Plugins: pub.dev hosts the package ecosystem; many platform integrations available
🔗
📖
Further Reading
Flutter Is Taking Over
Flutter Is Taking Over