前几天我发一篇《7 个开源 iOS 应用,让你成为更好的开发者》,反响不错,有不少朋友都在问我有没有Flutter相关的开源推荐。那必须是有啊,今天再给大家安排一波,这次我们来看 8 个不同类型、不同规模的 Flutter 开源项目,从播客播放器到照片管理,从国际象棋到 AI 库存管理,总有一款适合你。
当然也肯定有很多朋友会说,现在都是AI时代了,有必要看这些源码吗?诚然,AI很优秀,能做很多工作,包括我自己也在大量使用AI,但这并不意味着我们可以完全放弃古法编程,放弃编程技能。
好,废话少说,让我们开始。
欢迎关注公众号:OpenFlutter
以下项目按推荐程度排序,不分先后。
1. Immich Mobile
仓库 :github.com/immich-app/... Star :⭐ 86,400+ 许可证:AGPL-3.0
Immich 是目前 GitHub 上最火的自托管照片和视频备份方案,也是 Google Photos 最受欢迎的开源替代品。它的移动端使用 Flutter 开发,配合 NestJS 服务端和 SvelteKit Web 端组成完整的解决方案。
推荐理由:
如果你只打算研究一个大型 Flutter 项目,我强烈推荐 Immich。原因很简单------它是 Flutter 生态中活跃度最高、社区最大、代码质量最过硬的项目之一。1700+ 贡献者、8700+ 次提交,这种规模的项目本身就是最好的学习教材。
从技术层面看,Immich 有几个非常值得学习的点:
- hooks_riverpod + flutter_hooks 的组合使用,是目前 Flutter 社区非常推荐的响应式方案
- Drift(类型安全的 SQLite ORM)在大型项目中的实践,比直接用 sqflite 优雅得多
- OpenAPI 驱动开发------从服务端 API 规范自动生成 Dart 客户端代码,前后端类型完全一致,这个模式非常值得借鉴
- auto_route 声明式路由 + 代码生成,支持深度链接
- Isolate 并发编程处理媒体密集型任务,避免 UI 卡顿
项目采用分层架构,代码组织清晰,文档完善,非常适合作为 Flutter 进阶学习的标杆项目。
2. Ente Mobile
仓库 :github.com/ente-io/ent... Star :⭐ 20,900+ 许可证:AGPL-3.0
Ente 是一个端到端加密的云存储平台,提供照片管理、两步验证(2FA)和密码管理器服务,是 Google Photos 和 Authy 的开源替代品。整个项目是一个大型 monorepo,移动端包含三个 Flutter 应用:Photos、Auth 和 Locker。
推荐理由:
Ente 是我见过的技术栈最前沿的 Flutter 项目之一。如果你想在 Flutter 中探索前沿技术,这个项目绝对不容错过。
最大的亮点是 Flutter + Rust 混合开发 ------通过 flutter_rust_bridge,大量性能密集型逻辑用 Rust 实现(加密、媒体处理等)。这在 Flutter 社区是一个越来越热门的方向。
此外还有:
- 端到端加密的完整实现,经过 Cure53 等第三方安全审计
- ONNX 端侧机器学习推理(人脸检测等),在移动端跑 ML 模型
- Monorepo + 多 Package 共享架构,三个应用共享 accounts、crypto、network、lock_screen 等基础设施包
- FFmpeg 视频处理、视频编辑器、OCR 等高级功能的集成
- 自定义 Fork 了大量第三方包以适配需求,展现了大型项目的依赖管理策略
这个项目适合有一定基础、想要挑战高难度架构的开发者。
3. Lichess Mobile
仓库 :github.com/lichess-org... Star :⭐ 2,200+ 许可证:GPL-3.0
Lichess 是全球最大的免费开源国际象棋平台,这个仓库是它的 Flutter 客户端(第二版),支持在线对弈、残局训练、棋谜、对局分析等功能。
推荐理由:
Lichess Mobile 是学习 Riverpod 3 的最佳实战项目,没有之一。
项目全面使用了 Riverpod 3 的最新特性,包括 AsyncNotifier、FutureProvider.autoDispose、keepAlive、Provider 间依赖等。配合 Freezed 实现不可变数据类,fast_immutable_collections 强制使用不可变集合,整个数据层设计非常函数式、非常优雅。
另一个亮点是自定义 WebSocket 协议实现实时对弈通信,包含自动重连、消息确认、事件版本控制等机制,对需要实现实时通信的开发者非常有参考价值。
项目代码规范极其严格------强制不可变性、强类型、函数式风格,6900+ 次提交,活跃维护中。如果你想学习如何写"优雅的 Flutter 代码",Lichess 是最好的范本。
4. freeCodeCamp Mobile
仓库 :github.com/freeCodeCam... Star :⭐ 500+ 许可证:BSD-3-Clause
freeCodeCamp 是全球知名的免费编程学习平台,这个仓库是其官方 Flutter 移动应用,将完整的 Web 开发和机器学习课程适配到了移动端。
推荐理由:
freeCodeCamp Mobile 让你看到的是一个真实的大型产品级 Flutter 项目应该是什么样子。
它使用的是 Stacked 框架(基于 MVVM 模式),这与常见的 BLoC/Provider/Riverpod 路线不同,能让你接触到另一种状态管理思路。项目还集成了大量第三方服务:
- GraphQL 客户端查询课程数据
- Auth0 企业级身份认证
- Algolia 全文搜索
- Firebase 全家桶(Analytics、Crashlytics、Remote Config)
- 甚至还集成了移动端代码编辑器(phone_ide),用户可以在手机上写代码
项目包含独立的后端 API(Node.js)、E2E 测试目录、Codemagic CI/CD,是一个完整的工程化项目。29 位贡献者、1200+ 次提交、37 个 Release 版本,持续活跃迭代。
对于想要了解大型开源组织如何用 Flutter 构建产品级应用的开发者来说,这个项目非常有价值。
5. Anytime Podcast Player
仓库 :github.com/amugofjava/... Star :⭐ 550+ 许可证:BSD-Style
一款简洁的播客播放器应用,支持播客搜索、订阅、离线下载、后台播放、变速播放等功能。
推荐理由:
这是一个非常适合初学者的中小型项目,代码结构清晰,逻辑不复杂,但五脏俱全。
项目使用经典的 BLoC + RxDart 响应式编程模式------注意,这里不是用 flutter_bloc 库,而是手动基于 Sink/Stream 实现 BLoC,配合 RxDart 的操作符,能让你真正理解 BLoC 模式的本质。
此外还有:
- Sembast NoSQL 本地数据库的使用,比 SQLite 更轻量
- audio_service + just_audio 实现后台音频播放,这是音频类 App 的标准方案
- 分层架构(UI → BLoC → Service → API/Repository)组织清晰
- 支持 PodcastIndex 搜索引擎和 PC 2.0 文字稿功能
如果你刚学完 Flutter 基础,想找一个"不太难但能学到东西"的项目来读源码,Anytime 是一个很好的起点。
6. Flutter Instagram Offline-First Clone
仓库 :github.com/itsezlife/f... Star :⭐ 200+ 许可证:MIT
一个生产级别的 Flutter Instagram 克隆应用,采用完整的离线优先架构,功能涵盖帖子、动态故事、短视频(Reels)、聊天以及实时数据同步。还附带一个 24 小时的免费 YouTube 教程。
推荐理由:
这个项目的核心卖点是离线优先架构 ------所有功能在无网络环境下均可正常使用,通过 PowerSync 实现本地 SQLite 与 Supabase 云端数据库的实时双向同步。这在当前 Flutter 社区是一个非常前沿且实用的架构模式。
项目采用 Clean Architecture + Monorepo 结构,将 UI 组件、数据仓库、认证客户端等拆分为独立 package(app_ui、chats_repository、database_client、posts_repository 等),模块化程度极高。
技术栈方面使用了 BLoC 模式、go_router 路由、Supabase 后端、Firebase 推送通知等,是一个功能完整、架构合理的社交应用参考实现。
最贴心的是配套了 24 小时的 YouTube 教程,从零开始讲解整个开发过程。如果你想学习如何用 Flutter 构建一个完整的社交应用,这个项目 + 教程的组合是绝佳选择。
7. Flutter BLoC Advanced
仓库 :github.com/cevheri/flu... Star :⭐ 90+ 许可证:MIT
一个功能完备的 Flutter BLoC 架构模板项目,内置了路由管理、用户认证、角色权限、主题切换、国际化、Mock 数据/API 切换等企业级功能。
推荐理由:
虽然 Star 数不多,但这个项目的实用性极高------它本质上是一个开箱即用的 Flutter BLoC 脚手架。
项目预置了登录、注册、忘记密码、OTP 验证、用户管理(CRUD)、角色权限控制(Admin/User)等完整功能。最巧妙的是多环境配置:开发环境自动使用 Mock 数据,生产环境使用真实 API,一键切换,非常适合团队协作开发。
从学习角度看,这个项目是理解 Clean Architecture 在 Flutter 中如何落地的绝佳参考。Data / Models / Repository / Presentation 四层分离,职责清晰,依赖关系明确。配合全面的测试覆盖(数据层、业务逻辑层、UI 组件)和 GitHub Actions CI/CD + SonarQube 代码质量分析,展示了企业级 Flutter 项目的标准实践。
如果你正在准备启动一个新的 Flutter 项目,或者想学习 BLoC + Clean Architecture 的标准写法,直接 clone 这个项目作为起点就对了。
8. Invenicum
仓库 :github.com/lopiv2/inve... Star :新项目,快速增长中 许可证:待确认
一个智能开源的个人收藏品/库存管理系统,利用 Google Gemini AI 来简化物品编目工作,支持书籍、工具、电子产品、收藏品等各类物品的管理。
推荐理由:
这是一个紧跟 AI 时代潮流的 Flutter 项目,展示了如何在 Flutter 应用中深度集成 AI 能力。
核心亮点是通过 Google Gemini API 实现聊天式添加物品和 URL 自动填充元数据------你只需要告诉 AI "我有一本《深入理解计算机系统》第三版",它就能自动帮你填好所有信息。此外还支持条码扫描获取实时市场价格、QR 码标签生成打印、借出追踪系统、市场价值仪表板等功能。
技术栈使用 Provider 状态管理、go_router 路由、Dio 网络请求,配合 mobile_scanner 条码扫描、fl_chart 图表、PDF 生成等实用库,是一个"麻雀虽小五脏俱全"的项目。
项目还支持 Docker 自托管部署、多用户权限管理、多语言多货币、Webhook 和 API 集成等高级功能,展现了 AI + Flutter 的无限可能。
总结
| 项目 | Star | 状态管理 | 架构 | 难度 | 适合方向 |
|---|---|---|---|---|---|
| Immich | 86k+ | hooks_riverpod | 分层架构 | ⭐⭐⭐⭐ | 大型项目架构 |
| Ente | 20k+ | EventBus + 自定义 | Monorepo | ⭐⭐⭐⭐⭐ | Flutter+Rust、加密 |
| Lichess | 2.2k+ | Riverpod 3 | 分层架构 | ⭐⭐⭐ | Riverpod、实时通信 |
| freeCodeCamp | 500+ | Stacked (MVVM) | MVVM | ⭐⭐⭐⭐ | 产品级工程化 |
| Anytime | 550+ | BLoC + RxDart | 分层架构 | ⭐⭐ | 初学者入门 |
| Instagram Clone | 200+ | BLoC | Clean Arch + Monorepo | ⭐⭐⭐⭐ | 离线优先、社交应用 |
| BLoC Advanced | 90+ | BLoC | Clean Architecture | ⭐⭐⭐ | BLoC 脚手架 |
| Invenicum | 新项目 | Provider | 传统分层 | ⭐⭐ | AI 集成 |
每个项目都有其独特的学习价值,建议根据自己的水平和兴趣选择:
- 初学者:从 Anytime Podcast Player 开始,代码量适中,逻辑清晰
- 进阶开发者:重点研究 Lichess Mobile 和 Instagram Clone,学习 Riverpod 和离线优先架构
- 高级开发者:挑战 Ente 和 Immich,学习 Flutter+Rust 混合开发、大型 Monorepo 架构
- 准备启动新项目:直接用 Flutter BLoC Advanced 作为脚手架
- 对 AI 感兴趣:关注 Invenicum,学习 AI 能力的集成方案
希望这些项目能给你的 Flutter 学习之路带来帮助。如果觉得有用,欢迎点赞转发,你的支持是我持续创作的最大动力。