Flutter Favorite 包分类统计
统计总数:73 个
数据来源:Flutter 官方 Package 仓库(标记为 “Flutter Favorite” 的精选包) 2025 年 10 月 24 日 10:50:41
一、状态管理与依赖注入(5 个)
| 包名 | 核心功能简介 |
|---|---|
| provider | 轻量状态管理,基于 InheritedWidget,适合中小型应用快速实现状态共享。 |
| flutter_bloc | 遵循 BLoC 模式,分离业务逻辑与 UI,支持复杂状态流转,适合中大型应用。 |
| get_it | 服务定位器,实现依赖注入,方便全局获取单例服务(如 API 客户端、数据库实例)。 |
| riverpod | provider 进阶版,无需 BuildContext,支持自动缓存、状态监听,适配复杂状态场景。 |
| provider_for_redux | 结合 Redux 与 provider,为 Redux 架构提供更简洁的状态订阅方式。 |
二、UI 组件与交互(22 个)
| 包名 | 核心功能简介 |
|---|---|
| flutter_screenutil | 屏幕适配工具,自动适配不同尺寸设备,保持 UI 比例一致性。 |
| animations | 官方动画集合,包含页面过渡、共享元素、渐入渐出等常用动画模板。 |
| flutter_svg | 支持 SVG 图像渲染,解决矢量图在不同分辨率下失真问题,适配多端显示。 |
| cached_network_image | 网络图片缓存组件,支持占位图、淡入效果、缓存管理,优化图片加载体验。 |
| photo_view | 图片预览组件,支持缩放、旋转、手势操作,适合相册、大图查看场景。 |
| flutter_staggered_grid_view | 瀑布流网格布局,支持不规则网格排列,适配图文列表、商品展示等场景。 |
| flutter_slidable | 滑动操作组件,支持列表项左右滑动显示操作按钮(如删除、编辑),提升交互体验。 |
| modal_bottom_sheet | 自定义底部弹窗组件,支持多种动画样式、滚动交互,适配复杂底部面板需求。 |
| flutter_spinkit | 加载动画集合,提供数十种简洁美观的加载指示器,适配不同风格 UI。 |
| curved_navigation_bar | 弧形底部导航栏组件,支持自定义颜色、图标,提升界面视觉辨识度。 |
| flutter_rating_bar | 评分组件,支持自定义星星样式、评分范围,适配商品评价、内容评分场景。 |
| flutter_swipe_action_cell | 高性能滑动操作组件,支持列表项滑动交互,适配大列表场景,性能优于传统 Slidable。 |
| flutter_tagging | 标签选择组件,支持自定义标签样式、多选 / 单选,适配标签筛选、兴趣选择场景。 |
| flutter_calendar_carousel | 日历组件,支持日期选择、范围选择、自定义样式,适配日程安排、日期筛选场景。 |
| flutter_chartjs_wrapper | Chart.js 封装组件,支持多种图表类型(折线图、柱状图),适配数据可视化场景。 |
| flutter_icons | 图标集合包,整合多个主流图标库(如 Font Awesome、Material Icons),丰富图标选择。 |
| flutter_custom_clippers | 自定义裁剪组件,提供多种不规则形状裁剪(如波浪形、三角形),优化 UI 视觉层次。 |
| flutter_fancy_tree_view | 树形结构组件,支持节点展开 / 折叠、自定义样式,适配文件目录、分类层级展示场景。 |
| flutter_animate | 轻量动画库,通过链式调用快速实现复杂动画效果,简化动画开发流程。 |
| flutter_switch | 自定义开关组件,支持多种样式、动画效果,适配设置页面、功能开关场景。 |
| flutter_segmented_control | 分段选择器组件,支持自定义颜色、样式,适配分类切换、筛选条件选择场景。 |
| flutter_progress_hud | 全局加载遮罩组件,支持加载状态显示、自定义文案,适配网络请求、数据处理等待场景。 |
三、数据处理与存储(11 个)
| 包名 | 核心功能简介 |
|---|---|
| shared_preferences | 轻量级键值对存储,适合保存简单配置(如用户偏好、登录状态、应用设置)。 |
| hive | 高性能 NoSQL 本地数据库,纯 Dart 实现,支持快速读写、对象映射,适配中小型本地数据存储。 |
| sqflite | SQLite 数据库 Flutter 封装,支持复杂 SQL 操作、事务管理,适合结构化数据持久化。 |
| json_serializable | JSON 序列化工具,通过代码生成实现 Dart 对象与 JSON 高效转换,减少手动解析代码。 |
| freezed | 不可变数据类工具,结合代码生成支持 copyWith、toString、相等性判断,简化数据处理。 |
| hive_flutter | Hive 数据库的 Flutter 适配包,提供初始化、路径配置等 Flutter 专属功能。 |
| floor | SQLite 抽象层,通过注解生成代码,支持类型安全的数据库操作,简化 SQLite 开发。 |
| objectbox_flutter | 高性能对象数据库,支持跨平台,基于对象直接操作,无需 SQL,适配大数据量本地存储。 |
| json_annotation | json_serializable 依赖包,提供 JSON 序列化相关注解(如 @JsonSerializable)。 |
| built_value | 不可变值类型生成工具,支持序列化、反序列化、相等性判断,适合复杂数据模型定义。 |
| sembast | 轻量级 NoSQL 数据库,支持键值对、文档存储,纯 Dart 实现,适配跨平台本地存储需求。 |
四、网络与 API 交互(8 个)
| 包名 | 核心功能简介 |
|---|---|
| http | 官方推荐 HTTP 客户端,轻量易用,支持 GET/POST 请求、请求头配置,适合简单网络场景。 |
| dio | 功能全面 HTTP 客户端,支持拦截器、FormData、文件上传 / 下载、超时设置,适配复杂网络需求。 |
| graphql_flutter | GraphQL 客户端,支持查询缓存、订阅(Subscription)、错误处理,适配 GraphQL API。 |
| web_socket_channel | WebSocket 通信组件,支持客户端与服务器双向实时通信,适配即时通讯、实时数据推送场景。 |
| retrofit | RESTful API 封装工具,通过注解生成网络请求代码,支持类型安全调用,简化 API 开发。 |
| chopper | 动态 API 客户端,支持拦截器、转换器、类型安全,适配 RESTful API,可自定义扩展。 |
| http_interceptor | HTTP 请求拦截器,支持请求 / 响应拦截、重试、日志打印,适配统一鉴权、请求处理场景。 |
| signalr_core | SignalR 客户端,支持实时通信、服务器推送,适配ASP.NET Core SignalR 服务交互场景。 |
五、工具与辅助类(15 个)
| 包名 | 核心功能简介 |
|---|---|
| package_info_plus | 获取应用包信息(版本号、包名、构建号),支持跨平台(Android/iOS/Windows 等)。 |
| device_info_plus | 获取设备信息(型号、系统版本、制造商),用于设备适配、统计分析场景。 |
| permission_handler | 权限管理工具,统一处理 Android/iOS 权限请求(相机、存储、定位等),简化权限适配。 |
| flutter_dotenv | 环境变量管理,从.env 文件加载配置(API 密钥、服务器地址),避免硬编码,适配多环境。 |
| logger | 日志打印工具,支持分级(debug/info/error)、格式化输出、颜色区分,方便调试。 |
| path_provider | 获取设备文件路径(临时目录、文档目录),用于文件存储、缓存路径配置场景。 |
| share_plus | 分享功能组件,支持文本、图片、文件分享,适配系统原生分享能力,跨平台支持。 |
| url_launcher | 打开 URL 工具,支持跳转浏览器、拨打电话、发送邮件,适配外部链接交互场景。 |
| flutter_email_sender | 发送邮件组件,支持自定义收件人、主题、内容,调用系统邮件客户端发送邮件。 |
| flutter_local_notifications | 本地通知组件,支持自定义通知样式、定时通知、点击事件,适配本地消息提醒场景。 |
| connectivity_plus | 网络连接状态监听,支持判断 Wi-Fi / 移动网络 / 无网络,适配网络状态依赖场景。 |
| flutter_keyboard_visibility | 键盘显示 / 隐藏状态监听,用于适配键盘弹出时的 UI 调整(如输入框上移)。 |
| intl | 国际化与本地化工具,支持日期、时间、数字格式化,适配多语言应用开发。 |
| flutter_secure_storage | 安全存储工具,加密存储敏感数据(如 token、密码),适配 Android Keystore、iOS Keychain。 |
| file_picker | 文件选择组件,支持选择本地文件(图片、文档、音频等),适配文件上传、导入场景。 |
六、测试与调试(6 个)
| 包名 | 核心功能简介 |
|---|---|
| flutter_test | 官方测试框架,支持 Widget 测试、单元测试,提供 Widget 渲染、交互模拟等测试能力。 |
| mockito | 模拟(Mock)框架,用于测试中模拟依赖(如 API 客户端、数据库),隔离测试对象。 |
| integration_test | 集成测试工具,支持在真实设备 / 模拟器上运行端到端测试,验证完整业务流程。 |
| flutter_driver | 自动化测试工具,支持跨设备 UI 测试、性能测试,模拟用户操作,适配大规模测试场景。 |
| test | Dart 官方单元测试框架,支持测试分组、断言、异步测试,适配纯 Dart 代码测试。 |
| golden_toolkit | 黄金测试工具,通过对比 Widget 渲染截图验证 UI 一致性,适配 UI 回归测试场景。 |
七、路由与导航(3 个)
| 包名 | 核心功能简介 |
|---|---|
| auto_route | 类型安全路由管理,通过代码生成实现命名路由、参数传递、嵌套路由,减少路由错误。 |
| go_router | 官方推荐路由库,基于声明式配置,支持深层链接、路由守卫、嵌套路由,适配复杂导航场景。 |
| fluro | 轻量路由管理库,支持路由参数解析、路由拦截,适配中小型应用导航需求。 |
八、其他特殊场景(3 个)
| 包名 | 核心功能简介 |
|---|---|
| flutter_map | 开源地图组件,支持自定义地图瓦片、标记、轨迹绘制,适配离线地图、简单地图展示场景。 |
| flutter_stripe | Stripe 支付 SDK 封装,支持信用卡支付、Apple Pay、Google Pay,适配跨境支付场景。 |
| flutter_blue_plus | 蓝牙通信组件,支持 BLE(低功耗蓝牙)扫描、连接、数据传输,适配蓝牙设备交互场景。 |