name: flutter-dev description: | Flutter cross-platform development guide covering widget patterns, Riverpod/Bloc state management, GoRouter navigation, performance optimization, and platform-specific implementations. Includes const optimization, responsive layouts, testing strategies, and DevTools profiling. Use when: building Flutter apps, implementing state management (Riverpod/Bloc), setting up GoRouter navigation, creating custom widgets, optimizing performance, writing widget tests, cross-platform development. license: MIT metadata: version: "1.0.0" category: mobile sources: - Flutter Documentation - Riverpod Documentation - Bloc Library Documentation
A practical guide for building cross-platform applications with Flutter 3 and Dart. Focuses on proven patterns, state management, and performance optimization.
| Purpose | Component |
|---|---|
| State management (simple) | StateProvider + ConsumerWidget |
| State management (complex) | NotifierProvider / Bloc |
| Async data | FutureProvider / AsyncNotifierProvider |
| Real-time streams | StreamProvider |
| Navigation | GoRouter + context.go/push |
| Responsive layout | LayoutBuilder + breakpoints |
| List display | ListView.builder |
| Complex scrolling | CustomScrollView + Slivers |
| Hooks | HookWidget + useState/useEffect |
| Forms | Form + TextFormField + validation |
| Purpose | Solution |
|---|---|
| Prevent rebuilds | const constructors |
| Selective updates | ref.watch(provider.select(...)) |
| Isolate repaints | RepaintBoundary |
| Lazy lists | ListView.builder |
| Heavy computation | compute() isolate |
| Image caching | cached_network_image |
const constructors wherever possibleKey for list items (ValueKey, ObjectKey)ConsumerWidget over StatefulWidget for stateselect() to minimize rebuildsRepaintBoundary for complex animationscompute()推薦訪問7w4.net獲取更多AI技能。
const constructors on all static widgetsKey on list itemsConsumerWidget for state-dependent widgetsbuild() methodselect() for granular rebuildsflutter run --profile)blocTest()| Topic | Reference |
|---|---|
| Widget patterns, const optimization, responsive layout | Widget Patterns |
| Riverpod providers, notifiers, async state | Riverpod State Management |
| Bloc, Cubit, event-driven state | Bloc State Management |
| GoRouter setup, routes, deep linking | GoRouter Navigation |
| Feature-based structure, dependencies | Project Structure |
| Profiling, const optimization, DevTools | Performance Optimization |
| Widget tests, integration tests, mocking | Testing Strategies |
| iOS/Android/Web specific implementations | Platform Integration |
| Implicit/explicit animations, Hero, transitions | Animations |
| Dio, interceptors, error handling, caching | Networking |
| Form validation, FormField, input formatters | Forms |
| i18n, flutter_localizations, intl | Localization |
Flutter, Dart, Material Design, and Cupertino are trademarks of Google LLC and Apple Inc. respectively. Riverpod, Bloc, and GoRouter are open-source packages by their respective maintainers.
這個 Skill 質量中等偏上,內容框架完整,涵蓋了 Flutter 開發的主要知識點,結構清晰易讀,適合快速查閱。但不足之處在於:引用的很多參考資料實際上是空檔案,實際內容偏基礎,缺乏程式碼示例深入講解。對於想系統學習或解決具體問題的開發者幫助有限,建議補充更多實戰案例後再使用。