Skip to content
Devgo

Flutter

Google's UI toolkit for building cross-platform apps (iOS, Android, web, desktop) from a single Dart codebase. Flutter compiles to native ARM code for fast performance. Uses its own rendering engine (Skia/Impeller), not native widgets. Made by Google, used by Google Pay, BMW.

Created by

Google · Created Flutter in 2017

When to use
  • Cross-platform apps needing consistent UI.
  • Apps with custom/complex animations.
  • Teams OK with Dart.
When not to
  • When you need native widgets (use React Native or native).
  • Web-only apps (use React/Vue/Next).
  • When JS ecosystem matters (use React Native).

Definition

Flutter is a cross-platform UI framework using the Dart language. It renders widgets itself (via Skia/Impeller), not using native UI components. Compiles to native ARM for mobile and JS/WASM for web. Hot reload for fast development. One codebase for mobile, web, desktop.

Why it exists

To let developers build high-performance, visually consistent apps across all platforms from one codebase, with a fast development cycle (hot reload) and custom rendering.

How it works

Write Dart code with Flutter widgets. The framework renders to a canvas via Skia/Impeller (not native widgets). Hot reload updates the app instantly. Compile to ARM (mobile), JS/WASM (web), or desktop binaries. pub.dev for packages.

Scaling limits

Dart is a less popular language (smaller ecosystem than JS). Apps are larger (includes rendering engine). Not using native widgets means platform-specific UI needs extra work. Web performance is improving but not as good as native web frameworks.

Cost shape

Free and open source.

Alternatives

  • React Native — JS/ ecosystem, native widgets, bridge overhead.
  • Native (Swift/Kotlin) — Best platform integration, two codebases.

Failure modes

  • App size (rendering engine bundled).
  • Dart ecosystem smaller.
  • Web performance.
  • Platform-specific UI needs custom work.