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