Flutter Dev

👤 smasherlxd 📦 v1.0.0 ⭐ 4.4 ⬇️ 1.6K 下载
💻 开发编程 免费

📖 技能介绍


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


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

本技能来自小葱技能站7w4.net。

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
  • [ ] 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.

🤖 AI 评测

这是一份质量不错的 Flutter 开发参考手册,内容覆盖面广,从基础组件到状态管理、性能调优都有涉及,代码示例丰富实用。对新手友好度较好,高级内容略显不足,缺少交互式学习材料,适合作为日常开发查阅的工具书,但不太适合作为系统学习的主要教材。

📊 多维度评分

适应性4.3
规范性4.3
有效性4.7
可靠性4.2
可信度4.4

📁 包含文件 (14 个)

📄 SKILL.md 5.1 KB
📄 _meta.json 130 B
📄 references/animations.md 13 KB
📄 references/bloc-state.md 6.9 KB
📄 references/forms.md 17.7 KB
📄 references/gorouter-navigation.md 6.3 KB
📄 references/localization.md 12.2 KB
📄 references/networking.md 14.2 KB
📄 references/performance.md 6.8 KB
📄 references/platform-specific.md 11.2 KB
📄 references/project-structure.md 6.8 KB
📄 references/riverpod-state.md 5.5 KB
📄 references/testing.md 8.8 KB
📄 references/widget-patterns.md 5.4 KB