What Is Flutter?
Flutter is Google's open-source UI framework for building natively compiled apps for iOS, Android, web, and desktop from a single Dart codebase.
Flutter takes a different approach from most cross-platform frameworks. Instead of mapping to native components, Flutter renders its own UI using the Skia (now Impeller) graphics engine. Every pixel is drawn by Flutter — which means pixel-perfect consistency across every platform.
Why Flutter differs from React Native:
- React Native renders native iOS/Android components via a JavaScript bridge
- Flutter renders its own components via a GPU-accelerated graphics engine
- Flutter: better performance consistency and visual fidelity
- React Native: easier for teams already writing JavaScript
What you can build with Flutter:
- iOS and Android apps from one codebase (primary use case)
- Web apps (Flutter renders a Canvas element)
- Desktop apps for macOS, Windows, Linux
Flutter's ecosystem:
- Dart — Flutter's programming language, strongly typed, optimized for UI
- pub.dev — package repository (Stripe, Firebase, Supabase SDKs all available)
- FlutterFlow — visual builder on top of Flutter; useful for standard screens, limited for custom logic
- Riverpod / Bloc — state management solutions
Production use: I've shipped BookBed on the App Store and Google Play using Flutter. The single codebase saved roughly 40% development time compared to building native iOS and Android separately, with no perceptible performance difference.