Solido/awesome-flutter · 上手攻略

  • 仓库:Solido/awesome-flutter
  • 链接:https://github.com/Solido/awesome-flutter
  • 分类:skill
  • 作者:Tom
  • 更新:2026-07-12

这是什么

awesome-flutter 是 Flutter 生态中最老牌、最全面的精选列表之一,由 Solido 团队维护(Flutter 官方也曾推荐)。它按类别收录了最优质的 Flutter 库、工具、教程、文章、开源 App 和模板——简单说,如果你用 Flutter,这个列表是你找轮子、找教程、找灵感的第一站。

涵盖范围:状态管理、路由导航、UI 组件、图表、动画、存储、测试、CI/CD、AI 集成、平台通道(iOS/Android/Web/桌面)等全部维度。


解决什么问题

  • 找轮子:Flutter 某个功能不知道用什么库?来这里按分类找,节省在 pub.dev 大海捞针的时间
  • 找教程:学习某个具体主题时,按图索骥找到最优质的博文、视频、课程
  • 了解生态:想了解某个领域的 Flutter 最佳实践,这里有社区验证过的工具清单
  • 避免踩坑:收录的库经过社区筛选,踩坑概率低于随机在 pub.dev 找

快速上手

无需安装,直接访问:

# 在浏览器打开
open https://github.com/Solido/awesome-flutter

# 如果想本地阅读(不需要运行代码)
git clone https://github.com/Solido/awesome-flutter.git
cd awesome-flutter
# README.md 即为完整内容,支持按标题搜索

注意:本文攻略基于 2026 年 7 月前后的列表内容,Flutter 生态变化快,库版本信息以各库官方文档为准。


核心内容分类与精选推荐

📚 Articles(文章)

高质量 Flutter 博客和学习资源:

文章 作者 简介
Flutter Web:Ins and Outs Nash Flutter Web 深度解析
Welcome to Flutter Didier Boelens Flutter/Dart 常见问题实战解答(英法双语)
Flutter by Example — Redux、Firebase、动画、UI 实战教程
Flutter Institute Brian Armstrong 深度原创内容与教程
Flutter Tips Diego Velásquez 开发技巧与实战经验
Layout Cheat Sheet Tomek Polański 布局 widget 详尽示例
Flutter State Management for Minimalists Suragch 不依赖第三方框架理解状态管理

🎬 Videos(视频)

资源 简介
Flutter 渲染管线 & Render Tree Adam Barth 讲解引擎架构
Google Codelabs 官方引导式实践(动画 Chat UI、Firebase 集成等)
Flutter & Dart development Suragch 系列文章配套视频

🧩 Components(组件库)

Flutter 最流行的 UI 组件库:

库 Stars 简介
flutter_modular — 依赖注入 + 路由模块化
go_router 官方推荐 Flutter 团队出品的声明式路由
riverpod / flutter_riverpod — 编译时安全的状态管理(Provider 进化版)
get — 状态管理 + 路由 + 依赖注入,一站式(争议较大,但用的人很多)
fl_chart — 数据图表(折线/柱状/饼图),Flutter 最流行的图表库
shimmer — 加载占位动画
cached_network_image — 图片缓存与加载
flutter_svg — SVG 渲染支持
url_launcher — 打开外部链接/电话/邮件

🎨 UI 框架(2025 年值得关注)

库 设计语言 平台
fluent_ui Microsoft Fluent Design Windows/macOS
macos_ui macOS 原生风格 macOS
yaru Ubuntu/Yaru 风格 Linux
shadcn_ui Tailwind/ shadcn/ui Flutter 实现 全平台
arna 极简风格 UI 全平台
exui 表达性 UI 工具集 全平台
styled_widget SwiftUI 式声明语法 全平台
库 特点
go_router ⭐ 官方推荐,声明式路由,支持深层链接
go_router(替代方案) 自动生成路由代码
beamer 基于 URL 的路由,支持嵌套路由

🧪 状态管理(主流方案对比)

Flutter 状态管理是永远的热门话题,主要方案:

方案 特点 适合场景
riverpod 编译时安全、测试友好、自动补全 大型应用,2024-2026 年首选
flutter_bloc 事件驱动,Redux 风格 需要清晰数据流的复杂 App
get 上手极简单,功能全 快速 MVP,但架构争议大
mobx 响应式,需代码生成 喜欢 RxJS 风格的开发者
setState + InheritedWidget Flutter 原生,无需第三方 小型项目

🏗️ 框架(Templates & Boilerplate)

资源 简介
Flutter Roadmap(olexale) 可视化学习路线图
Beginner's Guide(antz22) Flutter + Firebase 完整指南
ultimate-guide-to-flutter 全面入门指南

🤖 AI / LLM 集成(近年新增重点)

Flutter 生态积极接入 AI 能力:

库 简介
flutter_gemma Google Gemma 模型 Flutter 集成(官方)
langchain_flutter LangChain Dart SDK
ollama_dart Ollama 本地 LLM 调用
openai_dart OpenAI API Flutter 客户端(含 DeepSeek 等兼容端点)

🧪 Testing & CI

库 简介
flutter_test 官方测试框架
mockito Mock 数据
integration_test 集成测试
patrol 跨平台 UI 测试(可测试通知、权限等原生行为)

典型使用场景

场景 1:搭建一个新的 Flutter 项目,从零到上线

# 1. 创建项目
flutter create my_app
cd my_app

# 2. 添加核心依赖(参考 awesome-flutter 推荐版本)
flutter pub add riverpod flutter_riverpod
flutter pub add go_router
flutter pub add fl_chart
flutter pub add cached_network_image

# 3. 运行
flutter run

场景 2:用 riverpod + go_router 构建可靠 App 架构

// main.dart
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';

// 定义路由
final router = GoRouter(
  routes: [
    GoRoute(path: '/', builder: (context, state) => const HomeScreen()),
    GoRoute(path: '/detail/:id', builder: (context, state) {
      final id = state.pathParameters['id']!;
      return DetailScreen(id: id);
    }),
  ],
);

// 状态Provider
final counterProvider = StateProvider<int>((ref) => 0);

void main() {
  runApp(
    ProviderScope(
      child: MaterialApp.router(routerConfig: router),
    ),
  );
}

场景 3:做数据可视化(fl_chart)

import 'package:fl_chart/fl_chart.dart';

Widget buildChart() {
  return LineChart(
    LineChartData(
      lineBarsData: [
        LineChartBarData(
          spots: const [
            FlSpot(0, 3),
            FlSpot(2, 10),
            FlSpot(4, 7),
            FlSpot(6, 12),
          ],
          isCurved: true,
          color: Colors.blue,
        ),
      ],
    ),
  );
}

场景 4:Flutter Web 部署

# 检查 web 支持
flutter config --enable-web

# 切换到 web 平台
flutter run -d chrome

# 构建生产版本
flutter build web

# 输出在 build/web/,可部署到任意静态托管(Vercel、Netlify、Cloudflare Pages)

坑与注意

  1. Flutter 版本兼容性:Flutter 3.x / 4.x 对部分老库(特别是状态管理库)有 Breaking Change,pubspec.yaml 中建议锁定 minor 版本: yaml dependencies: flutter_riverpod: ^2.5.0 # 用 ^ 锁定兼容范围
  2. go_router 已成官方标准:之前的 Navigator 1.0 和 beamer 正在被快速替代,新项目建议直接用 go_router
  3. riverpod vs get:get 上手简单但架构模式不被所有人认可,团队项目建议用 riverpod(更好的类型安全和可测试性)
  4. Flutter Web 限制:并非所有 Flutter 插件都支持 Web,发布前务必用 flutter run -d chrome 验证;列表中大量插件标注了 "web" 平台支持
  5. 平台通道(Platform Channel):涉及原生功能(相机、蓝牙、推送通知)时,检查库是否同时支持 iOS 和 Android,以及是否需要额外配置
  6. shadcn_ui Flutter:2025 年新兴的项目,API 可能尚未稳定,生产环境使用前确认版本
  7. 中文资源:awesome-flutter 以英文资源为主,中文 Flutter 资源可参考 datawhalechina/happy-llm 等其他仓库

与同类对比

列表 侧重点 Stars 适合谁
awesome-flutter(本仓库) Flutter 生态全景(库+教程+文章) ~60k 所有 Flutter 开发者
flutterawesome.com Flutter 库/项目发布平台 — 追踪最新发布的库
awesome-flutter-plugins Flutter 插件专项列表 较小众 寻找某个功能插件
awesome-dart Dart 语言本身 Dart 官方维护 想学 Dart 语言本身的

本列表的核心优势:老牌(Stars 高)+ 分类清晰 + 覆盖库和教程,是 Flutter 开发者书签必备。


一句话推荐结论

Flutter 开发者的瑞士军刀——无论你是找状态管理方案、做数据图表、还是接入 AI 模型,按分类在这个列表里找,经过社区验证的优质轮子远比在 pub.dev 随机搜索更靠谱。


关键参考链接

  • 仓库首页:https://github.com/Solido/awesome-flutter
  • Flutter 官方文档:https://flutter.dev/docs
  • pub.dev(Flutter 官方包仓库):https://pub.dev
  • Riverpod:https://riverpod.dev
  • go_router:https://pub.dev/packages/go_router
  • fl_chart:https://pub.dev/packages/fl_chart
  • TrendsShift 趋势:https://trendshift.io/repositories/9391