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 自绘 UI(视觉完全一致但像素看上去非原生感);RN 桥接原生组件(更原生观感但跨平台差异需要处理)。Flutter 性能更稳定,RN 生态和 JS 社区更大。
Q: 支持 Web 生产吗? A: 支持,但首屏较大(Dart runtime + CanvasKit)。适合 app-like SPA,不适合 SEO 站点。
Q: Impeller 是什么? A: Flutter 新渲染后端,取代 Skia。在 iOS 上解决 shader compilation jank 问题,是未来标准。
来源与致谢 Sources
- Docs: https://docs.flutter.dev
- GitHub: https://github.com/flutter/flutter
- License: BSD 3-Clause