Flutter 一些常用第三方库、插件
网络请求
http
https://github.com/dart-lang/http
该软件包包含一组高级函数和类,可以轻松使用HTTP资源。它与平台无关,可以在命令行和浏览器上使用。
dio
^2.1.13
Dart的一个强大的Http客户端,支持拦截器、全局配置、FormData、请求取消、文件下载、超时等。
http_multi_server
^2.0.5
https://pub.dev/packages/http_multi_server
dart:io HttpServer包装器,用于处理来自多个服务器的请求
cookie_jar
^1.0.1
https://pub.dev/packages/cookie_jar
一个用于Dart中http请求的cookie管理器,通过它您可以轻松地处理复杂的cookie策略和持久化cookie
UI相关
fluttertoast
^3.1.0
https://pub.dev/packages/fluttertoast
用于Android和ios的toast库。
flutter_swiper
^1.1.6
https://pub.dev/packages/flutter_swiper
flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配
flutter_webview_plugin
^0.3.5
https://pub.dev/packages/flutter_webview_plugin
加载webview,允许Flutter与本机WebView通信的插件
flutter_html
^0.11.0
https://pub.dev/packages/flutter_html
加载富文本,用于将静态html标记呈现为Flutter widgets。(将呈现70多个不同的html标记!)
zefyr
^0.8.0
https://pub.dev/packages/zefyr
用于Flutter应用程序的富文本编辑。
flutter_html_view
^0.5.2
https://pub.dev/packages/flutter_html_view
Flutter没有默认的支持来显示html,所以需要三方的包来显示。这个包可以将html呈现给原生的Widget。(目前支持的标签比较少)
flutter_html_textview
^0.2.6
https://pub.dev/packages/flutter_html_textview
将html呈现为一个Widget,在textview中呈现html。
markdown
^2.0.0
https://pub.dev/packages/markdown
用Dart编写的便携式Markdown库。它可以在客户端和服务器上将Markdown解析为HTML。
html2md
^0.3.3
https://pub.dev/packages/html2md
将html转换为Dart中的MarkDown.
flutter_easyrefresh
^2.0.0
https://pub.dev/packages/flutter_easyrefresh
实现下拉刷新以及上拉加载操作,它支持几乎所有的Flutter控件
common_utils
^1.1.3
https://pub.dev/packages/common_utils
Dart常用工具类库。包含日期,正则,倒计时,定时任务,时间轴等工具类
date_format
^1.0.8
https://pub.dev/packages/date_format
一个简单的API,用于格式化日期。
flutter_calendar (日历)
^0.0.8
https://pub.dev/packages/flutter_calendar
日历组件.
flutter_picker
^1.1.0
https://pub.dev/packages/flutter_picker
选择器。可以根据json或自定义数据生成选择器。
city_picker
^0.1.4
https://pub.dev/packages/city_picker
中国城市选择器
file_picker
^1.3.8
https://pub.dev/packages/file_picker
文件资源管理器,可选择单个或多个文件
badges
^1.1.0
https://pub.dev/packages/badges
徽章
font_awesome_flutter
^0.8.5
https://pub.dev/packages/font_awesome_flutter
图标库
flutter_slidable
^0.5.4
https://pub.dev/packages/flutter_slidable
Flutter实现的可滑动列表项,具有可被取消的定向滑动动作。
dragablegridview_flutter
^0.2.5
https://pub.dev/packages/dragablegridview_flutter
可拖动删除的GridView
flutter_staggered_animations
^0.1.2
https://pub.dev/packages/flutter_staggered_animations
轻松地将交错动画添加到ListView、GridView、Column和Row
azlistview
^0.1.2
https://pub.dev/packages/azlistview
列表索引,Flutter 城市列表,联系人列表,自定义Header,索引,悬停效果.
flutter_spinkit
^4.0.0
https://github.com/jogboms/flutter_spinkit
加载动画。支持多种常用效果,非常酷炫。
badge
^0.0.3
https://pub.dev/packages/badge
小红点插件,可以用来显示小红点、未读消息数量等,非常方便
flukit
^1.0.2
https://pub.dev/packages/flukit
Flutter UI组件库
flutter_local_notifications
^0.8.4+3
https://pub.dev/packages/flutter_local_notifications
通知栏消息,一个用于显示本地通知的跨平台插件。
cool_ui
^0.3.1
https://pub.dev/packages/cool_ui
自定义键盘
图像处理
image_picker
^0.6.1
https://pub.dev/packages/image_picker
图片选择器
image
^2.1.9
https://pub.dev/packages/image
DART库,提供以各种不同的文件格式加载、保存和操作图像的能力。该库不依赖于DART:IO,因此它可以用于服务器和Web应用程序。
transparent_image
^1.0.0
https://pub.dev/packages/transparent_image
透明图片控件 Uint8List
cached_network_image
^1.1.3
https://pub.dev/packages/cached_network_image
图片缓存,Flutter库来加载和缓存网络图像。也可以与占位符和错误小部件一起使用。
photo_view
^0.9.0
https://pub.dev/packages/photo_view
图片手势
carousel_slider
^1.3.1
https://pub.dev/packages/carousel_slider
一个支持手势划动和自动播放的图像展示控件。
zoomable_image
^1.3.1
https://pub.dev/packages/zoomable_image
提供图像查看和手势缩放操作功能。
flutter_svg
^0.6.3
https://pub.dev/packages/flutter_svg
加载svg图像。
camera
^0.5.7
https://pub.dev/packages/camera
用于在Android和iOS上获取有关和控制相机的信息。支持预览相机馈送和捕捉图像。
flutter_image_compress
^0.6.3
https://pub.dev/packages/flutter_image_compress
将图像压缩为本机插件(Obj-C / Kotlin)
视频 & 音频
chewie
^0.9.8
https://pub.dev/packages/chewie
视频播放器,在video_player的基础上包装了控制UI。
video_player
^0.10.3+3
https://pub.dev/packages/video_player
用于在Android和iOS上与其他Flutter窗口小部件一起显示内嵌视频。
audioplayer
^0.5.2
https://pub.dev/packages/audioplayer
一个播放远程或本地音频文件Flutter音频插件
audioplayers
^0.13.3
https://pub.dev/packages/audioplayers
这是rxlabz的audioplayer的一个分支,不同之处在于它支持同时播放多个音频并显示音量控制。
spritewidget
0.9.17
https://pub.dev/packages/spritewidget
SpriteWidget是用于构建复杂、高性能动画和带有2D游戏的插件包,可与其它小部件无缝混合。您可以使用SpriteWidget创建任何东西,从动画图标到成熟的游戏。
路由和消息传递
fluro
^1.5.1
https://pub.dev/packages/fluro
https://github.com/theyakka/fluro
最好用的路由导航框架。功能:简单的路线导航;函数处理程序(映射到函数而不是路径);通配符参数匹配;查询字符串参数解析;内置常用转换;简单的定制转换创建。
flutter_local_notifications
^0.8.4+3
https://pub.dev/packages/flutter_local_notifications
一个跨平台的显示本地notifications的插件。
url_launcher
^5.2.5
https://pub.dev/packages/url_launcher
用于在Android和iOS上启动URL。支持网络,电话,短信和电子邮件方案。
firebase_messaging
^6.0.1
https://pub.dev/packages/firebase_messaging
一款跨平台的消息传递解决方案,可让您在Android和iOS上可靠地传递消息。
event_bus
^1.1.0
https://pub.dev/packages/event_bus
一个使用Dart流进行解耦应用程序的简单事件总线的库。
数据存储、缓存有关的库
sqflite
^1.1.7+3
https://pub.dev/packages/sqflite
SQLite的Flutter插件,一个自包含的高可靠性嵌入式SQL数据库引擎。
shared_preferences
^0.5.3+4
https://pub.dev/packages/shared_preferences
sp本地存储
file_cache
^0.1.2
https://pub.dev/packages/file_cache
为flutter package项目缓存Json,Buffer,FileCacheImage。
flutter_cache_manager
^1.1.3
https://pub.dev/packages/flutter_cache_manager
管理你的app下载到本地的文件缓存。它使用缓存控制HTTP报头有效地检索文件。
类型编解码的库
html_unescape
^1.0.1+3
https://pub.dev/packages/html_unescape
用于解决HTML编码字符串的Dart库。支持所有命名字符引用(如
),小数字符引用(如á
)和十六进制字符引用(如ã
)。
html
^0.14.0+3
HTML解析库。
crypto
^2.1.3
https://pub.dev/packages/crypto
在纯DART中实现的加解密函数库。支持SHA-1、SHA-256、MD5、HMAC
设备系统
path_provider (获取本地文件)
^1.4.5
https://pub.dev/packages/path_provider
用于获取Android和iOS文件系统上的常用位置,例如temp和app数据目录。
shared_preferences (读写sp文件)
^0.5.4+6
https://pub.dev/packages/shared_preferences
用于读写简单键值对的Flutter插件。包装iOS上的NSUserDefaults和Android上的SharedPreferences。
connectivity (网络状态)
^0.4.5+6
https://pub.dev/packages/connectivity
用于发现Android和iOS上的网络状态(WiFi和移动/蜂窝)连接。
device_info (设备信息)
^0.4.1+2
https://pub.dev/packages/device_info
提供有关设备(品牌,型号等)的详细信息,以及应用程序正在运行的Android或iOS版本。
package_info
^0.4.0+11
https://pub.dev/packages/package_info
包信息
flutter_blue (蓝牙)
^0.6.3+1
https://pub.dev/packages/flutter_blue
这是跨平台的蓝牙sdk.
share (分享)
^0.6.3+3
https://pub.dev/packages/share
支持分享的flutter插件
open_file (打开文件)
^2.1.1
https://pub.dev/packages/open_file
调用平台打开文件。比如直接打开一个apk文件会调起平台的安装向导。
权限库
simple_permissions
0.1.9
https://pub.dev/packages/simple_permissions
用于android和ios的请求权限的库
地图(地图显示、定位、经纬度等)
amap_base
^0.3.5
https://pub.dev/packages/amap_base
高德地图Flutter插件
map_view
^0.0.14
https://pub.dev/packages/map_view
一个用于在iOS和Android上显示谷歌地图的Flutter插件
flutter_map
^0.7.3
https://pub.dev/packages/flutter_map
基于leaflet的Flutter地图包
location
^2.3.5
https://pub.dev/packages/location
这个插件 处理Android和iOS上的位置。它还提供位置更改时的回调。
latlong
^0.6.1
https://pub.dev/packages/latlong
LatLong是一个计算通用的纬度和经度的轻量级库。
二维码
qr_flutter
^3.1.0
https://pub.dev/packages/qr_flutter
二维码
barcode_scan
^1.0.0
https://pub.dev/packages/barcode_scan
用于扫描2D条形码和QRCodes的Flutter插件。
qrcode_reader
^0.4.4
https://pub.dev/packages/qrcode_reader
使用相机读取二维码的Flutter插件。
图表库
fl_chart
^0.4.1
https://pub.dev/packages/fl_chart
图表
charts_flutter
^0.8.1
https://pub.dev/packages/charts_flutter
Material Design风格的图表库
charts_common
^0.8.1
https://pub.dev/packages/charts_common
通用的图表库组件
flutter_circular_chart
^0.1.0
https://pub.dev/packages/flutter_circular_chart
一个让你使用flutter轻松创建的动画圆形图控件的库。
工具
rxdart
^0.22.6
https://pub.dev/packages/rxdart
函数式编程,RxDart是基于ReactiveX的Google Dart的反应式功能编程库。
rx_widgets
^2.5.0
https://pub.dev/packages/rx_widgets
rx_widgets是一个包含基于流的Flutter Widgets和Widget帮助程序/便利类的程序包,它们有助于反应式编程风格,特别是与RxDart和RxCommands结合使用。
rx_command
^4.3.2+1
https://pub.dev/packages/rx_command
RxCommand是针对事件处理程序的基于Reactive Extensions(Rx)的抽象。它基于ReactiveUI框架的ReactiveCommand。它大量使用了RxDart包。
provide
^1.0.2
https://pub.dev/packages/provide
状态管理
provider
^3.1.0+1
https://pub.dev/packages/provider
状态管理
intl
^0.16.0
这个包提供国际化和本地化功能,包括消息翻译、复数和性别、日期/数字格式和解析以及双向文本。
其它
flutter_app_badger
^1.1.1
https://pub.dev/packages/flutter_app_badger
桌面提示角标
pwa
^0.2.0
基于Dart的PWA应用程序的库
fluwx (微信)
^1.1.3
https://pub.dev/packages/fluwx
适用于Flutter的微信SDK,方便快捷。 QQ群:892398530。
tobias
^1.2.1
https://pub.dev/packages/tobias
Tobias是一个为支付宝支付SDK做的Flutter插件。
序列化
-
手动序列化:
使用 dart:convert
的内置解码器。包括传入 JSON 原始字符串给 JSON.decode() 方法,然后从 Map<String, dynamic> 中查询你需要的数据。
-
自动序列化:
库名 | 版本号 | 链接 | 描述 |
---|---|---|---|
json_serializable | 0.5.7 | https://pub.dev/packages/json_serializable | |
built_value | 5.5.1 | https://pub.dev/packages/built_value | runtime依赖项 |
built_value_generator | 5.5.1 | https://pub.dev/packages/built_value_generator | dev依赖项 |
built_value_test | 5.5.1 | https://pub.dev/packages/built_value_test | test依赖项 |
Json解析
-
https://github.com/javiercbk/json_to_dart 根据json生成Dart实体类
- https://pub.dev/packages/json_schema json解析
-
https://github.com/debuggerx01/JSONFormat4Flutter 这是一个AS的辅助插件,将JSONObject格式的String解析成Dart的实体类
-
Dson 0.13.2 下载地址 https://pub.dev/packages/dson
描述:Dson的github地址 https://github.com/drails-dart/dson DSON是一个将Dart对象转换为JSON的库。(用于web)这个库是Dartson的一个分支,但又有不同。 -
Dartson是一个Dart库,可用于将Dart对象转换为JSON字符串。 https://github.com/eredo/dartson (用于web)
方式 | 大小 (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 |
学习资料
-
字体图标生成 http://fluttericon.com/
-
Flutter中文网 https://flutterchina.club
-
Flutter官网 https://flutter.io
-
Flutter中文开发者论坛 http://flutter-dev.cn/
-
Flutter|Dart语言中文社区 http://www.cndartlang.com/flutter
-
Dart开源包 https://pub.dartlang.org/packages
-
Dart SDK文档 https://api.dartlang.org/stable/1.24.3/index.html
-
学习资料 https://marcinszalek.pl/
-
Flutter布局控件 https://juejin.im/post/5bab35ff5188255c3272c228
-
Flutter开发者 http://flutter.link/
-
Flutter开源APP https://itsallwidgets.com/
-
深入理解(Flutter Platform Channel )https://www.jianshu.com/p/39575a90e820
-
简书 - 闲鱼技术 https://www.jianshu.com/u/cf5c0e4b1111
-
掘金Flutter专栏
-
alibaba/flutter-go
-
网友阿韦整理的学习资料和demo
注:版本号会随时间更新,请自行修改。部分转载于:https://www.cnblogs.com/Free-Thinker/p/10219605.html