Flutter

Google's UI toolkit for building natively-compiled apps from one Dart codebase.

CurrentintermediateGuide only -- no course yet

Overview

Flutter compiles a single Dart codebase to natively-compiled apps for iOS, Android, web, and desktop, rendering its own UI (rather than using platform-native components), which gives it very consistent behavior across platforms at the cost of a distinctly 'Flutter-looking' UI unless customized.

What it is
A UI toolkit and framework using the Dart language, compiling one codebase to multiple native platforms.
Why it's used
For pixel-consistent UI across platforms and strong performance, since Flutter renders its own widgets rather than wrapping native ones.
Where it fits
Requires learning Dart alongside Flutter's widget-based UI model -- a different starting point than React Native for a JavaScript developer.

Core concepts

  • Widgets (everything is a widget)
  • The Dart language
  • State management
  • Hot reload

Example

In Flutter, layout, styling, and even text are all widgets composed into a tree -- there is no separate HTML/CSS-equivalent layer.

class Greeting extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text("Hello, mobile!");
  }
}

Common use cases

  • Cross-platform apps prioritizing consistent UI across platforms
  • Apps targeting mobile, web, and desktop from one codebase

Project ideas

  • A simple counter app exploring StatefulWidget and setState

Official references