flutter-dev

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 Flu

By minimax-ai · 1,903 installs

npx skills add minimax-ai/skills --skill flutter-dev

Source repository · Upstream listing

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](references/widget patterns.md) Riverpod providers, notifiers, async state [Riverpod State Management](references/riverpod state.md) Bloc, Cubit, event driven state [Bloc State Management](references/bloc state.md) GoRouter setup, routes, deep linking [GoRouter Navigation](references/gorouter navigation.md) Feature based structure, dependencies [Project Structure](references/project structure.md) Profiling, const optimization, DevTools [Performance Optimization](references/performance.md) Widget tests, integration tests, mocking [Testing Strategies](references/testing.md) iOS/Android/Web specific implementations [Platform Integration](references/platform specific.md) Implicit/explicit animations, Hero, transitions [Animations](references/animations.md) Dio, interceptors, error handling, caching [Networking](references/networking.md) Form validation, FormField, input formatters [Forms](references/forms.md) i18n, flutter localizations, intl [Localization](references/localization.md) 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.