AGENT SKILL

flutter

Flutter cross-platform framework

License 许可
MIT
最近更新
2026-03-01
Stars
★ 3
Forks
2

01 前言 Front Matter

name
flutter
license
MIT
metadata
{ "audience": "mobile-developers", "category": "mobile-development" }
description
Flutter cross-platform framework
compatibility
opencode

03 SKILL.md 正文

What I do

  • Build cross-platform mobile apps with Flutter (Dart)
  • Create beautiful, responsive UIs with Material Design and Cupertino widgets
  • Implement state management (Provider, Riverpod, Bloc, GetX)
  • Access native features through platform channels
  • Build custom widgets and animations
  • Handle internationalization and localization
  • Optimize Flutter app performance

When to use me

Use me when:

  • Building iOS and Android apps from a single codebase
  • Creating visually rich, custom UIs
  • Rapid prototyping and MVP development
  • Apps requiring consistent cross-platform experience
  • Projects with limited native platform code needs
  • Teams with single Flutter/Dart expertise

Key Concepts

Flutter Widget System

Everything in Flutter is a widget - from buttons to layouts to the entire app. Widgets compose to build complex UIs.

class CounterApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ChangeNotifierProvider(
        create: (_) => CounterNotifier(),
        child: CounterScreen(),
      ),
    );
  }
}

class CounterScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Counter')),
      body: Center(
        child: Consumer<CounterNotifier>(
          builder: (context, notifier, child) {
            return Text('${notifier.count}');
          },
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: context.read<CounterNotifier>().increment,
        child: Icon(Icons.add),
      ),
    );
  }
}

State Management Options

  • Provider: Simple, recommended for most cases
  • Riverpod: Compile-safe, testable state management
  • Bloc: Business Logic Component with events/states
  • GetX: Navigation, dependency injection, state management

Platform Channels

static const platform = MethodChannel('com.example/channel');

Future<String> getNativeData() async {
  return await platform.invokeMethod('getData');
}

04 同仓库更多 Skills