flutter 经常使用开源包

网络请求

库名 版本号 连接 描述
http 0.11.3+16 pub.dartlang.org/packages/ht… 该软件包包含一组高级函数和类,能够轻松使用HTTP资源。它与平台无关,能够在命令行和浏览器上使用。
dio 0.0.14 pub.dartlang.org/packages/di… Dart的一个强大的Http客户端,支持拦截器、全局配置、FormData、请求取消、文件下载、超时等。
http_multi_server 2.0.5 pub.dartlang.org/packages/ht… dart:io HttpServer包装器,用于处理来自多个服务器的请求

推送

库名 版本号 连接 描述
jpush_flutter 0.1.0 pub.dev/packages/jp… 极光推送 官网

二维码

库名 版本号 连接 描述
qr_flutter 1.1.3 pub.dartlang.org/packages/qr… QR.Flutter是一个Flutter库,可经过Widget或自定义Paint进行简单快速的QR码渲染。
barcode_scan 0.0.4 pub.dartlang.org/packages/ba… 用于扫描2D条形码和QRCodes的Flutter插件。
qrcode_reader 0.3.3 pub.dartlang.org/packages/qr… 使用相机读取二维码的Flutter插件。

系统平台有关的库:

类型 库名 版本号 连接 描述
分享(官方的库) share 0.5.2 pub.dartlang.org/packages/sh… 用于经过平台共享UI共享内容,使用Android上的ACTION_SEND意图和iOS上的UIActivityViewController。
获取本地文件 path_provider 0.4.1 pub.dartlang.org/packages/pa… 用于获取Android和iOS文件系统上的经常使用位置,例如temp和app数据目录。
读写sp文件 shared_preferences 0.4.2 pub.dartlang.org/packages/sh… 用于读写简单键值对的Flutter插件。包装iOS上的NSUserDefaults和Android上的SharedPreferences。
网络状态有关 connectivity 0.3.1 pub.dartlang.org/packages/co… 用于发现Android和iOS上的网络状态(WiFi和移动/蜂窝)链接。
设备信息 device_info 0.2.1 pub.dartlang.org/packages/de… 提供有关设备(品牌,型号等)的详细信息,以及应用程序正在运行的Android或iOS版本。
蓝牙 flutter_blue 0.3.3 pub.dartlang.org/packages/fl… 这是跨平台的蓝牙sdk.
蓝牙 flutter_ble_lib 1.0.0 pub.dartlang.org/packages/fl… 这是一个支持蓝牙链接的flutter库。它里面使用RxAndroidBle和RxBluetoothKit做为本地库。

图片加载和缓存

使用Image.network,或者使用下面这个库:html

库名 版本号 连接 描述
cached_network_image 0.4.1+1 pub.dartlang.org/packages/ca… Flutter库来加载和缓存网络图像。也能够与占位符和错误小部件一块儿使用。

MarkDown

库名 版本号 连接 描述
flutter_markdown 0.1.3 github.com/flutter/flu… 官方的MarkDown库,它支持原始MarkDown格式,但没有内联Html格式。
markdown 2.0.0 pub.dartlang.org/packages/ma… 用Dart编写的便携式Markdown库。它能够在客户端和服务器上将Markdown解析为HTML。
html2md 0.1.7 pub.dartlang.org/packages/ht… 将html转换为Dart中的MarkDown.

消息传递通讯有关

库名 版本号 连接 描述
flutter_local_notifications 0.3.0 pub.dartlang.org/packages/fl… 一个跨平台的显示本地notifications的插件。
local_notifications 0.0.6 pub.dartlang.org/packages/lo… 这个库能让你在Android和iOS上建立Notifications很简单。
url_launcher 3.0.2 pub.dartlang.org/packages/ur… 用于在Android和iOS上启动URL。支持网络,电话,短信和电子邮件方案。
firebase_messaging 1.0.2 pub.dartlang.org/packages/fi… 一款跨平台的消息传递解决方案,可以让您在Android和iOS上可靠地传递消息。
event_bus 0.4.1 pub.dartlang.org/packages/ev… 一个使用Dart流进行解耦应用程序的简单事件总线的库。

视频 & 音频

库名 版本号 连接 描述
video_player 0.6.0 pub.dartlang.org/packages/vi… 用于在Android和iOS上与其余Flutter窗口小部件一块儿显示内嵌视频。
video_launcher 0.3.0 pub.dartlang.org/packages/vi… 视频播放器
flute_music_player 0.0.6 pub.dartlang.org/packages/fl… 基于Flutter的材料设计音乐播放器与音频插件播放本地音乐文件.
audioplayer 0.5.0 pub.dartlang.org/packages/au… 一个播放远程或本地音频文件Flutter音频插件
audioplayers 0.5.2 pub.dartlang.org/packages/au… 这是rxlabz的audioplayer的一个分支,不一样之处在于它支持同时播放多个音频并显示音量控制。

类型编解码的库

库名 版本号 连接 描述
html_unescape 1.0.0 pub.dartlang.org/packages/ht… 用于解决HTML编码字符串的Dart库。支持全部命名字符引用(如 ),小数字符引用(如á)和十六进制字符引用(如ã)。
gbk2utf8 github.com/jzoom/gbk2u… 官方的http还不能支持中文gbk的解析,这个项目就是为了解决gbk转成utf-8编码的。

序列化

  • 手动序列化android

    使用 dart:convert 的内置解码器。包括传入 JSON 原始字符串给 JSON.decode() 方法,而后从 Map<String, dynamic> 中查询你须要的数据。
    复制代码
  • 自动序列化ios

库名 版本号 连接 描述
json_serializable 0.5.7 pub.dartlang.org/packages/js…
built_value 5.5.1 pub.dartlang.org/packages/bu… runtime依赖项
built_value_generator 5.5.1 pub.dartlang.org/packages/bu… dev依赖项
built_value_test 5.5.1 pub.dartlang.org/packages/bu… test依赖项

json解析

库名 版本号 连接 描述
codable 1.0.0-beta.2 pub.dartlang.org/packages/co… 用于将动态结构化数据(JSON,YAML)转换为Dart类型的库。
json_to_dart github.com/javiercbk/j… 根据json生成Dart实体类
JSONFormat4Flutter github.com/debuggerx01… 这是一个AS的辅助插件,将JSONObject格式的String解析成Dart的实体类
Dson 0.13.2 pub.dartlang.org/packages/ds… Dson的github地址 github.com/drails-dart… DSON是一个将Dart对象转换为JSON的库。(用于web)这个库是Dartson的一个分支,但又有不一样。
Dartson是一个Dart库,可用于将Dart对象转换为JSON字符串。 github.com/eredo/darts… (用于web)

几个Json库的比较:github.com/drails-dart…git

方式 大小 (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

编解码、加密解密有关的库

库名 版本号 连接 描述
ninja 1.0.0 pub.dartlang.org/packages/ni… 在Dart的Converter和Codec接口上完善的AES以及RSA加密解密算法的库。
archive 2.0.0 pub.dartlang.org/packages/ar… 为各类存档和压缩格式提供编码器和解码器,如zip,tar,bzip2,gzip和zlib。(不知道移动端可否用获得,文档说服务端和web端能够用。)

国际化和本地化:

库名 版本号 连接 描述
intl 0.15.6 pub.dartlang.org/packages/in… 这个包提供国际化和本地化功能,包括消息翻译、复数和性别、日期/数字格式和解析以及双向文本。

数据存储、缓存有关的库

库名 版本号 连接 描述
sqflite 0.10.0 pub.dartlang.org/packages/sq… SQLite的Flutter插件,一个自包含的高可靠性嵌入式SQL数据库引擎。
file_cache 0.0.1 pub.dartlang.org/packages/fi… 为flutter package项目缓存Json,Buffer,FileCacheImage。

UI库

库名 版本号 连接 描述
font_awesome_flutter 7.0.0 pub.dartlang.org/packages/fo… 图标字体的一个库
fluttertoast 2.0.3 pub.dartlang.org/packages/fl… 用于Android和ios的toast库。
image_picker 0.4.5 pub.dartlang.org/packages/im… 用于从Android和iOS图像库中选择图像,并使用相机拍摄新照片。
camera 0.2.1 pub.dartlang.org/packages/ca… 用于在Android和iOS上获取有关和控制相机的信息。支持预览相机馈送和捕捉图像。

图标有关的开源库

库名 版本号 连接 描述
cupertino_icons 0.1.2 pub.dartlang.org/packages/cu… Cupertino的图标组件库
flutter_launcher_icons 0.6.0 pub.dartlang.org/packages/fl… 或者github地址https://github.com/fluttercommunity/flutter_launcher_icons 一个命令行工具,简化了更新Flutter应用程序启动图标的任务。 彻底灵活,您能够选择要更新启动图标的平台,若是须要,能够选择保留旧的启动图标,以防未来某个时候还原旧图标。

富文本

库名 版本号 连接 描述
flutter_html_view 0.5.2 pub.dartlang.org/packages/fl… Flutter没有默认的支持来显示html,因此须要三方的包来显示。这个包能够将html呈现给原生的Widget。(目前支持的标签比较少)
flutter_html_textview 0.2.6 pub.dartlang.org/packages/fl… 将html呈现为一个Widget,在textview中呈现html。

动画

库名 版本号 连接 描述
flutter_villains 1.0.1 pub.dartlang.org/packages/fl… 页面切换动画的一个库,简化动画操做,你只须要管理好UI就能够了。

针对Android和ios平台的UI适配库

库名 版本号 连接 描述
platform_aware 0.4.0 pub.dartlang.org/packages/pl… 为自动适应当前平台而包装的Flutter组件,不须要对iOS和Android进行代码更改。全部小部件都依赖于Theme.of(context).platform来肯定当前活动平台的平台。你可使用Flutter Inspector动态地更改平台。
native_widgets 0.0.3 pub.dartlang.org/packages/na… 为避免重复代码,只编写一次代码就能够支持两个平台并自动根据平台自动使用对应风格组件,Android将使用材料设计,iOS将使用Cupertino风格的小部件。

日历库(主要是用于显示和操做日历)

库名 版本号 连接 描述
flutter_calendar 0.0.4 pub.dartlang.org/packages/fl… 适用于Flutter的日历小组件。
calendarro 0.0.1 pub.dartlang.org/packages/ca… Flutter的日历组件库。 这个库提供了多种自定义组件的方法。

日期,时间,日期时间,icon,自定义数据的选择器(很全面)

库名 版本号 连接 描述
flutter_picker 0.0.3 pub.dartlang.org/packages/fl… 一个日期,时间,日期时间,icon,自定义数据的选择器,能够居中弹窗,也能够在底部弹出。(目前来看是最全面的一个选择器控件。该插件支持ios和android平台,使用的是ios的风格的UI效果。)

图片选择的库

库名 版本号 连接 描述
image_picker 0.4.5 pub.dartlang.org/packages/im… 适用于iOS和Android的Flutter插件,用于从图像库中拾取图像,并使用相机拍摄新照片。(功能正在完善中)
flutter_multiple_image_picker 0.0.1 pub.dartlang.org/packages/fl… 一个新的Flutter插件,用于从图库中选择多个图像。

联系人选择的库

库名 版本号 连接 描述
contact_picker 0.0.2 pub.dartlang.org/packages/co… 使用此插件,Flutter应用程序能够地址簿中选择联系人,并将联系人信息返回给应用程序,而且不须要用户的任何特殊权限。目前该插件仅支持选择电话号码。

颜色选择的库

库名 版本号 连接 描述
flutter_color_picker 0.0.1 pub.dartlang.org/packages/fl… 一个简单的颜色选择器,相似于安卓的selector的功能,能够在点击控件时,给控件设置选择器效果。
material_color_picker 0.0.1 pub.dartlang.org/packages/ma… 这个是Flutter的颜色选择器,基于Google Docs颜色选择器。这个用于选择颜色,你想用哪个颜色,能够弹窗自由选择。
material_pickers 0.0.2 pub.dartlang.org/packages/ma… 这个是Flutter的颜色选择器,基于Google Docs颜色选择器。这个用于选择颜色,你想用哪个颜色,能够弹窗自由选择。
flutter_colorpicker 0.0.5 pub.dartlang.org/packages/fl… 这是一个HSV的颜色选择器

轮播图有关的库(以及Tab PagerView有关的库)

库名 版本号 连接 描述
flutter_swiper 1.0.4 pub.dartlang.org/packages/fl… 对应的github地址https://github.com/best-flutter/flutter_swiper
infinity_page_view 1.0.0 pub.dartlang.org/packages/in… Flutter无限页面视图。
carousel 0.1.0 pub.dartlang.org/packages/ca…
page_transformer 0.0.1 pub.dartlang.org/packages/pa… 用于在Flutter中建立漂亮的PageView视差效果的示例项目。

导航栏有关的库

库名 版本号 连接 描述
navigation_bar 0.0.1 pub.dartlang.org/packages/na… 一个简易的底部导航栏。

列表有关的库

库名 版本号 连接 描述
flutter_pagewise 0.2.0 pub.dartlang.org/packages/fl… 一次加载一页(或批处理)内容(也称为延迟加载)
lazy_load_scrollview 0.0.2 pub.dartlang.org/packages/la… ScrollView的包装器,能够启用延迟加载,当到达页面底部时将触发回调。

路由

库名 版本号 连接 描述
fluro 1.3.1 pub.dartlang.org/packages/fl… 最好用的路由导航框架。功能:简单的路线导航;函数处理程序(映射到函数而不是路径);通配符参数匹配;查询字符串参数解析;内置经常使用转换;简单的定制转换建立。

rx系列

库名 版本号 连接 描述
rxdart 0.17.0 pub.dartlang.org/packages/rx… RxDart是一种基于ReactiveX的Dart反应性函数编程库。Dart自带了一个很是不错的流API;RxDart没有尝试提供这个API的替代方案,而是在它上面添加了一些功能。
rx_widgets 1.0.3 pub.dartlang.org/packages/rx… rx_widgets是一个包含基于流的Flutter Widgets和Widget帮助程序/便利类的程序包,它们有助于反应式编程风格,特别是与RxDart和RxCommands结合使用。
rx_command 2.0.0 pub.dartlang.org/packages/rx… RxCommand是针对事件处理程序的基于Reactive Extensions(Rx)的抽象。它基于ReactiveUI框架的ReactiveCommand。它大量使用了RxDart包。

地图(地图显示、定位、经纬度等)

库名 版本号 连接 描述
map_view 0.0.12 pub.dartlang.org/packages/ma… 一个用于在iOS和Android上显示谷歌地图的Flutter插件
flutter_map 0.0.10 pub.dartlang.org/packages/fl… 基于leaflet的Flutter地图包
location 1.3.4 pub.dartlang.org/packages/lo… 这个插件 处理Android和iOS上的位置。它还提供位置更改时的回调。
latlong 0.5.3 pub.dartlang.org/packages/la… LatLong是一个计算通用的纬度和经度的轻量级库。

WebView

库名 版本号 连接 描述
flutter_webview_plugin 0.1.6 pub.dartlang.org/packages/fl… 容许Flutter与原生Webview进行通讯的插件。

图表库

库名 版本号 连接 描述
charts-common 0.3.0 pub.dartlang.org/packages/ch… Material Design风格的图表库
charts-flutter 0.3.0 pub.dartlang.org/packages/ch… 通用的图表库组件
flutter_circular_chart 0.0.3 pub.dartlang.org/packages/fl… 一个让你使用flutter轻松建立的动画圆形图控件的库。

权限库

库名 版本号 连接 描述
simple_permissions 0.1.5 pub.dartlang.org/packages/si… 用于android和ios的请求权限的库
flutter_simple_permissions 0.0.1 pub.dartlang.org/packages/fl… 权限申请的库

分享

库名 版本号 连接 描述
share 0.5.1 pub.dartlang.org/packages/sh… 支持分享的flutter插件

统计

库名 版本号 连接 描述
flutter_umeng_analytics 0.0.1 pub.dartlang.org/packages/fl… 这个库集成了友盟统计sdk

登录

库名 版本 号 连接 描述
flutter_qq 0.0.1 pub.dartlang.org/packages/fl… 这个库集成了QQ登陆、QQ分享、QQ空间分享。
flutter_wechat 0.1.2 pub.dartlang.org/packages/fl… 这个库集成了微信,支持微信登陆、分享、支付。

支付

库名 版本号 连接 描述
flutter_alipay 0.1.0 pub.dartlang.org/packages/fl… 这个库继承了支付宝,兼容android和ios

视频播放(本地视频、在线视频、或者rtmp格式)

库名 版本号 连接 描述
my_aliplayer github.com/hyz1992/my_… 集成了aliyun播放器,能够用来播放视频,也能够播放rtmp格式。

一个好玩的库

库名 版本号 连接 描述
pwa 0.1.10 pub.dartlang.org/packages/pw… 基于Dart的PWA应用程序的库
相关文章
相关标签/搜索