常用第三方包推荐
Flutter 生态有丰富的第三方包,以下是按类别整理的常用推荐。
UI 组件
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
cached_network_image | 网络图片缓存 | 列表中显示网络图片 | ⭐⭐⭐⭐⭐ |
flutter_svg | SVG 渲染 | 显示 SVG 图标/图片 | ⭐⭐⭐⭐ |
shimmer | 骨架屏效果 | 加载占位动画 | ⭐⭐⭐⭐ |
flutter_slidable | 滑动操作 | 列表项左滑删除 | ⭐⭐⭐⭐ |
lottie | Lottie 动画 | 播放 AE 导出的动画 | ⭐⭐⭐⭐ |
pull_to_refresh / easy_refresh | 下拉刷新 | 列表刷新/加载更多 | ⭐⭐⭐ |
swipeable_page_route | iOS 风格滑动返回 | iOS 体验适配 | ⭐⭐⭐ |
photo_view | 图片缩放查看 | 全屏查看图片 | ⭐⭐⭐ |
主题
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
google_fonts | Google 字体库 | 快速使用 Google 字体 | ⭐⭐⭐⭐ |
flex_color_scheme | 快速主题配色 | Material 主题定制 | ⭐⭐⭐⭐ |
网络请求
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
dio | 功能强大的 HTTP 客户端 | 正式项目(推荐) | ⭐⭐⭐⭐⭐ |
http | Dart 官方 HTTP 客户端 | 简单项目 | ⭐⭐⭐⭐ |
retrofit | 类型安全的 HTTP 客户端(代码生成) | 大型项目 REST API | ⭐⭐⭐⭐ |
connectivity_plus | 网络状态检测 | 离线判断 | ⭐⭐⭐⭐ |
数据序列化
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
json_serializable | JSON 序列化代码生成 | API 数据模型 | ⭐⭐⭐⭐⭐ |
freezed | 不可变数据类代码生成 | 数据模型 + Union 类型 | ⭐⭐⭐⭐ |
dart_mappable | 基于代码生成的 JSON 序列化 | 无需手写 fromJson/toJson | ⭐⭐⭐ |
本地存储
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
shared_preferences | 键值对存储(官方) | 用户设置、简单数据 | ⭐⭐⭐⭐⭐ |
path_provider | 获取系统目录 | 文件读写 | ⭐⭐⭐⭐⭐ |
get_storage | 轻量键值对(同步 API) | 替代 SharedPreferences | ⭐⭐⭐⭐ |
sqflite | SQLite 数据库 | 结构化数据存储 | ⭐⭐⭐⭐ |
drift | 类型安全的 ORM | 大型项目数据库 | ⭐⭐⭐⭐ |
hive | 轻量级 NoSQL 数据库 | 替代 SharedPreferences | ⭐⭐⭐⭐ |
isar | 高性能 NoSQL 数据库 | 大数据量本地存储 | ⭐⭐⭐ |
状态管理
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
provider | 官方推荐状态管理 | 中小型项目 | ⭐⭐⭐⭐⭐ |
flutter_riverpod | Provider 升级版 | 大型项目(推荐) | ⭐⭐⭐⭐ |
flutter_bloc | 事件驱动状态管理 | 团队协作大型项目 | ⭐⭐⭐ |
get | 全功能框架(路由+状态+DI) | 快速开发(有争议) | ⭐⭐⭐ |
路由导航
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
go_router | 声明式路由(官方推荐) | 正式项目(推荐) | ⭐⭐⭐⭐⭐ |
auto_route | 代码生成路由 | 大型项目 | ⭐⭐⭐⭐ |
auto_size_text | 自适应文字大小 | 文字适配 | ⭐⭐⭐ |
图片与媒体
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
image_picker | 拍照/选图 | 相机/相册功能 | ⭐⭐⭐⭐ |
image_cropper | 图片裁剪 | 头像编辑 | ⭐⭐⭐⭐ |
video_player | 视频播放 | 视频功能 | ⭐⭐⭐ |
权限与设备
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
url_launcher | 打开外部链接 | 跳转浏览器/拨号 | ⭐⭐⭐⭐⭐ |
permission_handler | 运行时权限请求 | 各平台权限管理 | ⭐⭐⭐⭐ |
share_plus | 系统分享 | 分享内容 | ⭐⭐⭐⭐ |
device_info_plus | 获取设备信息 | 统计、适配 | ⭐⭐⭐ |
package_info_plus | 获取应用信息 | 版本号、包名 | ⭐⭐⭐ |
工具类
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
intl | 国际化/日期/数字格式 | 多语言、格式化 | ⭐⭐⭐⭐ |
equatable | 对象相等比较 | 简化 == 和 hashCode | ⭐⭐⭐⭐ |
logger | 日志工具 | 调试日志 | ⭐⭐⭐ |
uuid | UUID 生成 | 唯一标识 | ⭐⭐⭐ |
tuple | 元组类型 | 多值返回 | ⭐⭐⭐ |
collection | 集合操作增强 | 列表/Map 操作 | ⭐⭐⭐ |
flutter_local_notifications | 本地通知 | 推送通知 | ⭐⭐⭐ |
应用发布相关
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
flutter_launcher_icons | 应用图标生成 | 自动生成各平台图标 | ⭐⭐⭐⭐⭐ |
flutter_native_splash | 启动页生成 | 自动生成各平台启动页 | ⭐⭐⭐⭐⭐ |
change_app_package_name | 修改包名 | 更改应用包名 | ⭐⭐⭐⭐ |
in_app_update | Android 应用内更新 | 版本更新提示 | ⭐⭐⭐ |
测试
| 包名 | 说明 | 适用场景 | 推荐度 |
|---|---|---|---|
mockito | Mock 对象 | 单元测试模拟依赖 | ⭐⭐⭐⭐ |
integration_test | 集成测试(SDK 内置) | 端到端测试 | ⭐⭐⭐⭐ |
选包原则
- 优先选官方/社区推荐的包:
flutter.dev上推荐、pub.dev 上评分高 - 关注维护状态:最近更新时间、issues 处理情况
- 注意平台支持:确认包支持你的目标平台(Android / iOS / 鸿蒙)
- 不要过度依赖:核心功能尽量自己实现,避免第三方包停止维护
- 按需引入:不用的包及时移除,减少包体积
查找包的渠道
- pub.dev — Dart 官方包仓库
- Flutter Favorite — Flutter 官方推荐
- GitHub Stars 和活跃度
