← 返回
未分类 中文

Flutter Dev

Flutter cross-platform development guide covering widget patterns, Riverpod/Bloc state management, GoRouter navigation, performance optimization, and platfor...
Flutter cross-platform development guide covering widget patterns, Riverpod/Bloc state management, GoRouter navigation, performance optimization, and platfor...
smasherlxd
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 1,228
下载
💾 14
安装
1
版本
#latest

概述

Flutter Development Guide

A practical guide for building cross-platform applications with Flutter 3 and Dart. Focuses on proven patterns, state management, and performance optimization.

Quick Reference

Widget Patterns

| 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 |

Performance Patterns

| 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 |

Core Principles

Widget Optimization

  • Use const constructors wherever possible
  • Extract static widgets to separate const classes
  • Use Key for list items (ValueKey, ObjectKey)
  • Prefer ConsumerWidget over StatefulWidget for state

State Management

  • Riverpod for dependency injection and simple state
  • Bloc/Cubit for event-driven workflows and complex logic
  • Never mutate state directly (create new instances)
  • Use select() to minimize rebuilds

Layout

  • 8pt spacing increments (8, 16, 24, 32, 48)
  • Responsive breakpoints: mobile (<650), tablet (650-1100), desktop (>1100)
  • Support all screen sizes with flexible layouts
  • Follow Material 3 / Cupertino design guidelines

Performance

  • Profile with DevTools before optimizing
  • Target <16ms frame time for 60fps
  • Use RepaintBoundary for complex animations
  • Offload heavy work with compute()

Checklist

Widget Best Practices

  • [ ] const constructors on all static widgets
  • [ ] Proper Key on list items
  • [ ] ConsumerWidget for state-dependent widgets
  • [ ] No widget building inside build() method
  • [ ] Extract reusable widgets to separate files

State Management

  • [ ] Immutable state objects
  • [ ] select() for granular rebuilds
  • [ ] Proper provider scoping
  • [ ] Dispose controllers and subscriptions
  • [ ] Handle loading/error states

Navigation

  • [ ] GoRouter with typed routes
  • [ ] Auth guards via redirect
  • [ ] Deep linking support
  • [ ] State preservation across routes

Performance

  • [ ] Profile mode testing (flutter run --profile)
  • [ ] <16ms frame rendering time
  • [ ] No unnecessary rebuilds (DevTools check)
  • [ ] Images cached and resized
  • [ ] Heavy computation in isolates

Testing

  • [ ] Widget tests for UI components
  • [ ] Unit tests for business logic
  • [ ] Integration tests for user flows
  • [ ] Bloc tests with blocTest()

References

| 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.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 03:45 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 323,842
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,350 📥 317,745
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,211 📥 266,209