Flutter Dev

by minimax-ai60aaae52bb2aMIT13K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 months ago

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.

Instructions onlySoftware Development
AI-generated overview

A Flutter and Dart development guide covering widgets, state management, navigation, performance, testing and platform specifics.

What it does
This skill supplies a structured Flutter 3 and Dart development guide with quick-reference tables, core principles and checklists. It covers widget patterns, Riverpod and Bloc state management, GoRouter navigation, layout, performance optimization, testing and platform-specific implementations. It points to twelve reference documents on topics such as animations, networking, forms, localization and project structure. It produces guidance and checklists rather than code or files.
When to use it
Use it when building or extending Flutter apps, choosing or applying state management with Riverpod or Bloc, setting up GoRouter navigation, creating custom widgets, optimizing rendering performance, or writing widget and integration tests.
Requirements
No scripts or tooling are required beyond the agent; it is instructions and reference documents only. Applying the guidance assumes a Flutter and Dart development environment.

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

PurposeComponent
State management (simple)StateProvider + ConsumerWidget
State management (complex)NotifierProvider / Bloc
Async dataFutureProvider / AsyncNotifierProvider
Real-time streamsStreamProvider
NavigationGoRouter + context.go/push
Responsive layoutLayoutBuilder + breakpoints
List displayListView.builder
Complex scrollingCustomScrollView + Slivers
HooksHookWidget + useState/useEffect
FormsForm + TextFormField + validation

Performance Patterns

PurposeSolution
Prevent rebuildsconst constructors
Selective updatesref.watch(provider.select(...))
Isolate repaintsRepaintBoundary
Lazy listsListView.builder
Heavy computationcompute() isolate
Image cachingcached_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

TopicReference
Widget patterns, const optimization, responsive layoutWidget Patterns [blocked]
Riverpod providers, notifiers, async stateRiverpod State Management [blocked]
Bloc, Cubit, event-driven stateBloc State Management [blocked]
GoRouter setup, routes, deep linkingGoRouter Navigation [blocked]
Feature-based structure, dependenciesProject Structure [blocked]
Profiling, const optimization, DevToolsPerformance Optimization [blocked]
Widget tests, integration tests, mockingTesting Strategies [blocked]
iOS/Android/Web specific implementationsPlatform Integration [blocked]
Implicit/explicit animations, Hero, transitionsAnimations [blocked]
Dio, interceptors, error handling, cachingNetworking [blocked]
Form validation, FormField, input formattersForms [blocked]
i18n, flutter_localizations, intlLocalization [blocked]

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.

Source and attribution

Source:minimax-ai/skillsinskills/flutter-devat commit60aaae5

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

Flutter Dev Agent Skill | SourceWeft