Flutter常用库
字体图标生成 //fluttericon.com/
Flutter中文网 //flutterchina.club
Flutter官网 //flutter.io
Flutter中文开发者论坛 //flutter-dev.cn/
Flutter|Dart语言中文社区 //www.cndartlang.com/flutter
Dart开源包 //pub.dartlang.org/packages
Dart SDK文档 //api.dartlang.org/stable/1.24.3/index.html
学习资料 //marcinszalek.pl/
Flutter布局控件 //juejin.im/post/5bab35ff5188255c3272c228
Flutter开发者 //flutter.link/
Flutter开源APP //itsallwidgets.com/
深入理解(Flutter Platform Channel )//www.jianshu.com/p/39575a90e820
简书 - 闲鱼技术 //www.jianshu.com/u/cf5c0e4b1111
网络请求
http
//pub.dartlang.org/packages/http
包含高级函数和类 轻松使用HTTP资源 平台无关 可在命令行和浏览器上使用
dio
//pub.dartlang.org/packages/dio
Dart的一个强大的Http客户端 支持拦截器 全局配置 FormData 请求取消 文件下载 超时等
http_multi_server
//pub.dartlang.org/packages/http_multi_server
dart:io HttpServer包装器 用于处理来自多个服务器的请求
图像加载
使用 Image.network FadeInImage.memoryNetwork 或下面的库加载
cached_network_image
//pub.dartlang.org/packages/cached_network_image
Flutter库来加载和缓存网络图像 也可以与占位符和错误小部件一起使用
flutter_advanced_networkimage
//pub.dartlang.org/packages/flutter_advanced_networkimage
高级图像缓存加载和缩放控制
transparent_image
//pub.dartlang.org/packages/transparent_image
简单的透明图像 表示为Uint8List 在加载图片时可以用来做为占位符
图像处理
image_jpeg
//pub.dartlang.org/packages/image_jpeg
//github.com/yangyxd/image_jpeg
图像上传之前转jpeg缩放压缩 调用Android或iOS原生功能进行处理 性能较高 支持的源图像格式也更多
image_picker
//pub.dartlang.org/packages/image_picker
用于从Android和iOS图像库中选择图像 并使用相机拍摄新照片
photo
//pub.dartlang.org/packages/photo
选择图像 支持多选 而且这个是用Flutter做的UI 可以很方便的自定义修改(强烈推荐)
image
//pub.dartlang.org/packages/image
DART库 提供以各种不同的文件格式加载 保存和操作图像的能力 该库不依赖于DART:IO 因此它可以用于服务器和Web应用程序
flutter_svg
//pub.dartlang.org/packages/flutter_svg
加载svg图像
zoomable_image
//pub.dartlang.org/packages/zoomable_image
提供图像查看和手势缩放操作功能
image_carousel
//pub.dartlang.org/packages/image_carousel
Flutter图像展示控件 可以左右划动切换上一张下一张图像 还结合了zoomable_image可以点击后缩放查看 支持Asset和网络图像
carousel_slider
//pub.dartlang.org/packages/carousel_slider
一个支持手势划动和自动播放的图像展示控件
parallax_image
//pub.dartlang.org/packages/parallax_image
视差图像可以与任何可滚动(例如ListVIEW)一起使用 说白了就是让放在滚动区域内的图像滚动时看起来更平滑
camera
//pub.dartlang.org/packages/camera
用于在Android和iOS上获取有关和控制相机的信息 支持预览相机馈送和捕捉图像
UI相关
fluttertoast
//pub.dartlang.org/packages/fluttertoast
用于Android和ios的toast库
flutter_html_view
//pub.dartlang.org/packages/flutter_html_view
Flutter没有默认的支持来显示html 所以需要三方的包来显示 这个包可以将html呈现给原生的Widget (目前支持的标签比较少)
flutter_html_textview
//pub.dartlang.org/packages/flutter_html_textview
将html呈现为一个Widget,在textview中呈现html
markdown
//pub.dartlang.org/packages/markdown
用Dart编写的便携式Markdown库 它可以在客户端和服务器上将Markdown解析为HTML
html2md
//pub.dartlang.org/packages/html2md
将html转换为Dart中的MarkDown.
flutter_calendar (日历)
//pub.dartlang.org/packages/flutter_calendar
日历组件.
flutter_picker
//pub.dartlang.org/packages/flutter_picker
//github.com/yangyxd/flutter_picker
选择器 可以根据json或自定义数据生成选择器
flutter_spinkit
//github.com/jogboms/flutter_spinkit
加载动画 支持多种常用效果 非常酷炫
extended_nested_scroll_view
//github.com/zmtzawqlp/Flutter_Candies/tree/master/extended_nested_scroll_view
扩展NestedScrollView 能够更好的处理列表 TabView Sliver混合的情况(但是这个插件没有在pub找到)
badge
//pub.dartlang.org/packages/badge
小红点插件 可以用来显示小红点 未读消息数量等 非常方便
flutter_staggered_grid_view (瀑布流)
//pub.dev/packages/flutter_staggered_grid_view
瀑布流列表插件 可以支持不同大小的列
视频 & 音频
chewie
//pub.dartlang.org/packages/chewie
视频播放器 在video_player的基础上包装了控制UI
video_player
//pub.dartlang.org/packages/video_player
用于在Android和iOS上与其他Flutter窗口小部件一起显示内嵌视频
video_launcher
//pub.dartlang.org/packages/video_launcher
视频播放器 可播放本地文件和字节流
flute_music_player
//pub.dartlang.org/packages/flute_music_player
基于Flutter的材料设计音乐播放器与音频插件播放本地音乐文件 自带华丽的播放界面
audioplayer
//pub.dartlang.org/packages/audioplayer
一个播放远程或本地音频文件Flutter音频插件
audioplayers
//pub.dartlang.org/packages/audioplayers
这是rxlabz的audioplayer的一个分支 不同之处在于它支持同时播放多个音频并显示音量控制
spritewidget
//pub.dartlang.org/packages/spritewidget
SpriteWidget是用于构建复杂 高性能动画和带有2D游戏的插件包 可与其它小部件无缝混合 您可以使用SpriteWidget创建任何东西 从动画图标到成熟的游戏
路由和消息传递
fluro
//pub.dartlang.org/packages/fluro
最好用的路由导航框架
简单的路线导航
函数处理程序(映射到函数而不是路径)
通配符参数匹配;查询字符串参数解析
内置常用转换
简单的定制转换创建
flutter_local_notifications
//pub.dartlang.org/packages/flutter_local_notifications
一个跨平台的显示本地notifications的插件
local_notifications
//pub.dartlang.org/packages/local_notifications
这个库能让你在Android和iOS上创建Notifications很简单
url_launcher
//pub.dartlang.org/packages/url_launcher
用于在Android和iOS上启动URL 支持网络 电话 短信和电子邮件方案
firebase_messaging
//pub.dartlang.org/packages/firebase_messaging
一款跨平台的消息传递解决方案 可让您在Android和iOS上可靠地传递消息
flutter_msg_engine
//pub.dartlang.org/packages/flutter_msg_engine
//github.com/yangyxd/flutter_msg_engine
消息引擎, 注册一个消息 在任何地方响应并处理
event_bus
//pub.dartlang.org/packages/event_bus
一个使用Dart流进行解耦应用程序的简单事件总线的库
数据存储 缓存有关的库
sqflite
//pub.dartlang.org/packages/sqflite
SQLite的Flutter插件 一个自包含的高可靠性嵌入式SQL数据库引擎
file_cache
//pub.dartlang.org/packages/file_cache
为flutter package项目缓存Json,Buffer,FileCacheImage
flutter_cache_manager
//pub.dartlang.org/packages/flutter_cache_manager
管理你的app下载到本地的文件缓存 它使用缓存控制HTTP报头有效地检索文件
类型编解码的库
html_unescape
//pub.dartlang.org/packages/html_unescape
用于解决HTML编码字符串的Dart库 支持所有命名字符引用(如
) 小数字符引用(如á
)和十六进制字符引用(如ã
)
html
//pub.dartlang.org/packages/html
HTML解析库
crypto
//pub.dartlang.org/packages/crypto
在纯DART中实现的加解密函数库 支持SHA-1 SHA-256 MD5 HMAC
序列化
使用 dart:convert
的内置解码器 包括传入 JSON 原始字符串给 JSON.decode() 方法
然后从 Map<String, dynamic> 中查询你需要的数据
库名 | 版本号 | 链接 | 描述 |
---|---|---|---|
json_serializable | 0.5.7 | //pub.dartlang.org/packages/json_serializable | |
built_value | 5.5.1 | //pub.dartlang.org/packages/built_value | runtime依赖项 |
built_value_generator | 5.5.1 | //pub.dartlang.org/packages/built_value_generator | dev依赖项 |
built_value_test | 5.5.1 | //pub.dartlang.org/packages/built_value_test | test依赖项 |
Json解析
//github.com/javiercbk/json_to_dart 根据json生成Dart实体类
//github.com/debuggerx01/JSONFormat4Flutter 这是一个AS的辅助插件 将JSONObject格式的String解析成Dart的实体类
Dson 0.13.2 下载地址 //pub.dartlang.org/packages/dson
描述:Dson的github地址 //github.com/drails-dart/dson DSON是一个将Dart对象转换为JSON的库 (用于web)这个库是Dartson的一个分支 但又有不同Dartson是一个Dart库 可用于将Dart对象转换为JSON字符串 //github.com/eredo/dartson (用于web)
几个Json库的比较://github.com/drails-dart/dart-serialise
方式 | 大小 (js) | 序列化 (dart) | 反序列化 (dart) | 序列化 (js) | 反序列化 (js) |
---|---|---|---|---|---|
json_serializable | 80 KB | 9.09 ms | 6.61 ms | 8.23 ms | 8.12 ms |
Serializable | 79 KB | 6.1 ms | 6.92 ms | 4.37 ms | |
DSON | 94 KB | 12.72 ms | 11.15 ms | 16.64 ms | 17.94 ms |
Dartson | 86 KB | 9.61 ms | 6.81 ms | 8.58 ms | 7.01 ms |
Manual | 86 KB | 8.29 ms | 5.78 ms | 10.7 ms | 7.9 ms |
Interop | 70 KB | 61.55 ms | 14.96 ms | 2.49 ms | 2.93 ms |
Jaguar_serializer | 88 KB | 8.57 ms | 6.58 ms | 10.31 ms | 8.59 ms |
Jackson (Groovy) | 496 ms | 252 ms | n/a | n/a |
国际化和本地化
intl
//pub.dartlang.org/packages/intl
这个包提供国际化和本地化功能 包括消息翻译 复数和性别 日期/数字格式和解析以及双向文本
rx系列
rxdart
//pub.dartlang.org/packages/rxdart
RxDart是一种基于ReactiveX的谷歌Dart反应性函数编程库
谷歌Dart自带了一个非常不错的流API;
RxDart没有尝试提供这个API的替代方案 而是在它上面添加了一些功能
rx_widgets
//pub.dartlang.org/packages/rx_widgets
rx_widgets是一个包含基于流的Flutter Widgets和Widget帮助程序/便利类的程序包
它们有助于反应式编程风格 特别是与RxDart和RxCommands结合使用
rx_command
//pub.dartlang.org/packages/rx_command
RxCommand是针对事件处理程序的基于Reactive Extensions(Rx)的抽象 它基于ReactiveUI框架的ReactiveCommand 它大量使用了RxDart包
系统平台有关的库
path_provider (获取本地文件)
//pub.dartlang.org/packages/path_provider
用于获取Android和iOS文件系统上的常用位置 例如temp和app数据目录
shared_preferences (读写sp文件)
//pub.dartlang.org/packages/shared_preferences
用于读写简单键值对的Flutter插件 包装iOS上的NSUserDefaults和Android上的SharedPreferences
connectivity (网络状态)
//pub.dartlang.org/packages/connectivity
用于发现Android和iOS上的网络状态(WiFi和移动/蜂窝)连接
device_info (设备信息)
//pub.dartlang.org/packages/device_info
提供有关设备(品牌 型号等)的详细信息 以及应用程序正在运行的Android或iOS版本
flutter_blue (蓝牙)
//pub.dartlang.org/packages/flutter_blue
这是跨平台的蓝牙sdk.
share (分享)
//pub.dartlang.org/packages/share
支持分享的flutter插件
open_file (打开文件)
//pub.dartlang.org/packages/open_file
调用平台打开文件 比如直接打开一个apk文件会调起平台的安装向导
权限库
simple_permissions
//pub.dartlang.org/packages/simple_permissions
用于android和ios的请求权限的库
flutter_simple_permissions
//pub.dartlang.org/packages/flutter_simple_permissions
地图(地图显示 定位 经纬度等)
map_view
//pub.dartlang.org/packages/map_view
一个用于在iOS和Android上显示谷歌地图的Flutter插件
flutter_map
//pub.dartlang.org/packages/flutter_map
基于leaflet的Flutter地图包
location
//pub.dartlang.org/packages/location
这个插件 处理Android和iOS上的位置 它还提供位置更改时的回调
latlong
//pub.dartlang.org/packages/latlong
LatLong是一个计算通用的纬度和经度的轻量级库
flutter_amap
//pub.dartlang.org/packages/flutter_amap
高德地图3d flutter组件 展示原生android ios高德地图 并与flutter交互
二维码
barcode_scan
//pub.dartlang.org/packages/barcode_scan
用于扫描2D条形码和QRCodes的Flutter插件
qrcode_reader
//pub.dartlang.org/packages/qrcode_reader
使用相机读取二维码的Flutter插件
WebView
flutter_webview_plugin
//pub.dartlang.org/packages/flutter_webview_plugin
允许Flutter与原生Webview进行通信的插件
图表库
charts-common
//pub.dartlang.org/packages/charts_flutter
Material Design风格的图表库
charts-flutter
//pub.dartlang.org/packages/charts_common
通用的图表库组件
flutter_circular_chart
//pub.dartlang.org/packages/flutter_circular_chart
使用flutter轻松创建的动画圆形图控件的库
其它
pwa
//pub.dartlang.org/packages/pwa
基于Dart的PWA应用程序的库
fluwx (微信)
//pub.dartlang.org/packages/fluwx
适用于Flutter的微信SDK 方便快捷
alipay_me (支付宝)
//pub.dartlang.org/packages/alipay_me
支付宝插件 支持登录 支付 android还支持本地计算签名
flutter_qq (QQ)
//pub.dartlang.org/packages/flutter_qq
QQ登录 分享到QQ 分享到QQ空间
//github.com/AweiLoveAndroid/Flutter-learning
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题