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 State objects.
  • 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

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon