Flutter
The skill is based on Flutter framework, generated at 2026-01-31.
Flutter is Google's SDK for crafting beautiful, fast user experiences for mobile, web, and desktop from a single codebase. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
Flutter uses Dart as its programming language and follows a widget-based architecture where everything is a widget. The framework provides hot reload for fast development cycles, a rich set of Material Design and Cupertino widgets, and excellent performance through compiled code.
Core References
| Topic | Description | Reference |
|---|
| Widget System | StatelessWidget, StatefulWidget, Widget lifecycle, keys | core-widgets |
| State Management | setState, StatefulWidget, ValueNotifier, ChangeNotifier | core-state-management |
| Layout System | Row, Column, Stack, Flex, constraints, sizing | core-layout |
| BuildContext | Context usage, InheritedWidget, theme access | core-build-context |
| InheritedWidget | Sharing data down widget tree, InheritedWidget patterns | features-inherited-widget |
Widgets
Basic Widgets
| Topic | Description | Reference |
|---|
| Text & Styling | Text widget, TextStyle, RichText, TextSpan | widgets-text |
| Images | Image widget, AssetImage, NetworkImage, ImageProvider | widgets-images |
| Icons | Icon widget, IconData, IconTheme | widgets-icons |
| Buttons | ElevatedButton, TextButton, OutlinedButton, IconButton | widgets-buttons |
| Input Fields | TextField, TextFormField, Form, FormField | widgets-input |
| Async Widgets | FutureBuilder, StreamBuilder, async operations | widgets-async |
| ValueListenableBuilder | Building widgets based on ValueListenable changes | widgets-value-listenable |
| PageView | Swipeable pages, PageController, page navigation | widgets-pageview |
| RefreshIndicator | Pull-to-refresh functionality | widgets-refresh-indicator |
| Dismissible | Swipe-to-dismiss widgets | widgets-dismissible |
| TabBar & Tabs | Tab navigation, TabController, TabBarView | widgets-tabs |
| Forms & Validation | Form validation, validators, form handling | features-forms-validation |
Layout Widgets
| Topic | Description | Reference |
|---|
| Flex Layouts | Row, Column, Flex, Flexible, Expanded | layout-flex |
| Stack Layout | Stack, Positioned, alignment | layout-stack |
| Container | Container, BoxDecoration, padding, margin | layout-container |
| List Views | ListView, ListTile, GridView, Sliver widgets | layout-lists |
| Slivers | CustomScrollView, SliverList, SliverGrid, advanced scrolling | features-slivers |
| Scroll Controller | Programmatic scroll control, scroll listeners | features-scroll-controller |
Features
Navigation
Animations
Material Design
Cupertino (iOS)
| Topic | Description | Reference |
|---|
| Cupertino Widgets | iOS-style widgets, CupertinoApp, CupertinoNavigationBar | features-cupertino |
UI Components
| Topic | Description | Reference |
|---|
| Dialogs & Modals | AlertDialog, showDialog, showModalBottomSheet | features-dialogs |
| Focus Management | FocusNode, FocusScope, keyboard navigation | features-focus |
Platform Integration
| Topic | Description | Reference |
|---|
| Platform Channels | MethodChannel, EventChannel, native communication | features-platform-channels |
| Platform Views | AndroidView, UiKitView, embedding native views | features-platform-views |
| Assets & Resources | Asset management, pubspec.yaml, asset loading | features-assets |
| HTTP & Networking | HTTP requests, API calls, JSON parsing | features-http |
| Responsive Design | MediaQuery, LayoutBuilder, screen adaptation | features-responsive |
| Keys | ValueKey, ObjectKey, GlobalKey, when to use keys | features-keys |
| Widget Lifecycle | initState, dispose, lifecycle management | features-lifecycle |
| Error Handling | Try-catch, error widgets, error boundaries | features-error-handling |
| PopScope | Handle back button and navigation pop events | features-pop-scope |
Advanced
Best Practices