Flutter 一些常用庫插件【一路整理】

網絡請求

http

^0.11.3+16

https://pub.dartlang.org/packages/http

https://github.com/dart-lang/http

該軟件包包含一組高級函數和類,可以輕鬆使用HTTP資源。它與平臺無關,可以在命令行和瀏覽器上使用。

dio

0.0.14

https://pub.dartlang.org/packages/dio

Dart的一個強大的Http客戶端,支持攔截器、全局配置、FormData、請求取消、文件下載、超時等。

http_multi_server

2.0.5

https://pub.dartlang.org/packages/http_multi_server

dart:io HttpServer包裝器,用於處理來自多個服務器的請求

圖像加載

可使用 Image.network 、 FadeInImage.memoryNetwork 或下面的庫加載。

cached_network_image

“^0.4.1”

https://pub.dartlang.org/packages/cached_network_image

Flutter庫來加載和緩存網絡圖像。也可以與佔位符和錯誤小部件一起使用。

flutter_advanced_networkimage

0.2.8

https://pub.dartlang.org/packages/flutter_advanced_networkimage

高級圖像緩存加載和縮放控制。

transparent_image

^0.1.0

https://pub.dartlang.org/packages/transparent_image

簡單的透明圖像,表示爲Uint8List。在加載圖片時可以用來做爲佔位符。

圖像處理

image_jpeg

0.0.1

https://pub.dartlang.org/packages/image_jpeg

https://github.com/yangyxd/image_jpeg

用於圖像上傳之前轉jpeg縮放壓縮,調用Android或iOS原生功能進行處理,性能較高,支持的源圖像格式也更多。

image_picker

0.4.5

https://pub.dartlang.org/packages/image_picker

用於從Android和iOS圖像庫中選擇圖像,並使用相機拍攝新照片。

photo

0.1.4

https://pub.dartlang.org/packages/photo

用於選擇圖像,支持多選,而且這個是用Flutter做的UI,可以很方便的自定義修改(強烈推薦)。

image

2.0.4

https://pub.dartlang.org/packages/image

DART庫,提供以各種不同的文件格式加載、保存和操作圖像的能力。該庫不依賴於DART:IO,因此它可以用於服務器和Web應用程序。

flutter_svg

0.6.3

https://pub.dartlang.org/packages/flutter_svg

加載svg圖像。

zoomable_image

1.2.0
https://pub.dartlang.org/packages/zoomable_image

提供圖像查看和手勢縮放操作功能。

image_carousel

0.4.1

https://pub.dartlang.org/packages/image_carousel

Flutter圖像展示控件,可以左右划動切換上一張下一張圖像,還結合了zoomable_image可以點擊後縮放查看。支持Asset和網絡圖像。

carousel_slider

0.0.4

https://pub.dartlang.org/packages/carousel_slider

一個支持手勢划動和自動播放的圖像展示控件。

parallax_image

0.3.0

https://pub.dartlang.org/packages/parallax_image

視差圖像可以與任何可滾動(例如ListVIEW)一起使用。說白了就是讓放在滾動區域內的圖像滾動時看起來更平滑。

camera

0.2.1

https://pub.dartlang.org/packages/camera

用於在Android和iOS上獲取有關和控制相機的信息。支持預覽相機饋送和捕捉圖像。

UI相關

fluttertoast

2.0.3

https://pub.dartlang.org/packages/fluttertoast

用於Android和ios的toast庫。

flutter_html_view

0.5.2

https://pub.dartlang.org/packages/flutter_html_view

Flutter沒有默認的支持來顯示html,所以需要三方的包來顯示。這個包可以將html呈現給原生的Widget。(目前支持的標籤比較少)

flutter_html_textview

0.2.6

https://pub.dartlang.org/packages/flutter_html_textview

將html呈現爲一個Widget,在textview中呈現html。

markdown

2.0.0

https://pub.dartlang.org/packages/markdown

用Dart編寫的便攜式Markdown庫。它可以在客戶端和服務器上將Markdown解析爲HTML。

html2md

0.1.7

https://pub.dartlang.org/packages/html2md

將html轉換爲Dart中的MarkDown.

flutter_calendar  (日曆)

0.0.3

https://pub.dartlang.org/packages/flutter_calendar

日曆組件.

flutter_picker

0.0.1

https://pub.dartlang.org/packages/flutter_picker

https://github.com/yangyxd/flutter_picker

選擇器。可以根據json或自定義數據生成選擇器。

flutter_spinkit

https://github.com/jogboms/flutter_spinkit

加載動畫。支持多種常用效果,非常酷炫。

extended_nested_scroll_view

https://github.com/zmtzawqlp/Flutter_Candies/tree/master/extended_nested_scroll_view

一個擴展NestedScrollView,能夠更好的處理列表、TabView、Sliver混合的情況(但是這個插件沒有在pub找到)

badge

0.0.3

https://pub.dartlang.org/packages/badge

小紅點插件,可以用來顯示小紅點、未讀消息數量等,非常方便

視頻 & 音頻

chewie

0.6.1

https://pub.dartlang.org/packages/chewie

視頻播放器,在video_player的基礎上包裝了控制UI。

video_player

0.6.0

https://pub.dartlang.org/packages/video_player

用於在Android和iOS上與其他Flutter窗口小部件一起顯示內嵌視頻。

video_launcher

0.3.0

https://pub.dartlang.org/packages/video_launcher

視頻播放器,可播放本地文件和字節流。

flute_music_player

0.0.6

https://pub.dartlang.org/packages/flute_music_player

基於Flutter的材料設計音樂播放器與音頻插件播放本地音樂文件。自帶華麗的播放界面。

audioplayer

0.5.0

https://pub.dartlang.org/packages/audioplayer

一個播放遠程或本地音頻文件Flutter音頻插件

audioplayers

0.5.2

https://pub.dartlang.org/packages/audioplayers

這是rxlabz的audioplayer的一個分支,不同之處在於它支持同時播放多個音頻並顯示音量控制。

spritewidget

0.9.17

https://pub.dartlang.org/packages/spritewidget

SpriteWidget是用於構建複雜、高性能動畫和帶有2D遊戲的插件包,可與其它小部件無縫混合。您可以使用SpriteWidget創建任何東西,從動畫圖標到成熟的遊戲。

路由和消息傳遞

fluro

1.3.1

https://pub.dartlang.org/packages/fluro

https://github.com/theyakka/fluro

最好用的路由導航框架。功能:簡單的路線導航;函數處理程序(映射到函數而不是路徑);通配符參數匹配;查詢字符串參數解析;內置常用轉換;簡單的定製轉換創建。

flutter_local_notifications

0.3.0

https://pub.dartlang.org/packages/flutter_local_notifications

一個跨平臺的顯示本地notifications的插件。

local_notifications

0.0.6

https://pub.dartlang.org/packages/local_notifications

這個庫能讓你在Android和iOS上創建Notifications很簡單。

url_launcher

3.0.2

https://pub.dartlang.org/packages/url_launcher

用於在Android和iOS上啓動URL。支持網絡,電話,短信和電子郵件方案。

firebase_messaging

1.0.2

https://pub.dartlang.org/packages/firebase_messaging

一款跨平臺的消息傳遞解決方案,可讓您在Android和iOS上可靠地傳遞消息。

flutter_msg_engine

0.0.1

https://pub.dartlang.org/packages/flutter_msg_engine

https://github.com/yangyxd/flutter_msg_engine

消息引擎, 註冊一個消息,在任何地方響應並處理。。

event_bus

0.4.1

https://pub.dartlang.org/packages/event_bus

一個使用Dart流進行解耦應用程序的簡單事件總線的庫。

數據存儲、緩存有關的庫

sqflite

"^0.11.0"

https://pub.dartlang.org/packages/sqflite

SQLite的Flutter插件,一個自包含的高可靠性嵌入式SQL數據庫引擎。

file_cache

0.0.1

https://pub.dartlang.org/packages/file_cache

爲flutter package項目緩存Json,Buffer,FileCacheImage。

flutter_cache_manager

0.1.1

https://pub.dartlang.org/packages/flutter_cache_manager

管理你的app下載到本地的文件緩存。它使用緩存控制HTTP報頭有效地檢索文件。

類型編解碼的庫

html_unescape

1.0.0

https://pub.dartlang.org/packages/html_unescape

用於解決HTML編碼字符串的Dart庫。支持所有命名字符引用(如 ),小數字符引用(如á)和十六進制字符引用(如ã)。

html

0.13.3

https://pub.dartlang.org/packages/html

HTML解析庫。

crypto

2.0.6

https://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 https://pub.dartlang.org/packages/json_serializable
built_value 5.5.1 https://pub.dartlang.org/packages/built_value runtime依賴項
built_value_generator 5.5.1 https://pub.dartlang.org/packages/built_value_generator dev依賴項
built_value_test 5.5.1 https://pub.dartlang.org/packages/built_value_test test依賴項

Json解析

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

0.15.6

https://pub.dartlang.org/packages/intl

這個包提供國際化和本地化功能,包括消息翻譯、複數和性別、日期/數字格式和解析以及雙向文本。

rx系列

rxdart

0.17.0

https://pub.dartlang.org/packages/rxdart

RxDart是一種基於ReactiveX的谷歌Dart反應性函數編程庫。谷歌Dart自帶了一個非常不錯的流API;RxDart沒有嘗試提供這個API的替代方案,而是在它上面添加了一些功能。

rx_widgets

1.0.3

https://pub.dartlang.org/packages/rx_widgets

rx_widgets是一個包含基於流的Flutter Widgets和Widget幫助程序/便利類的程序包,它們有助於反應式編程風格,特別是與RxDart和RxCommands結合使用。

rx_command

2.0.0

https://pub.dartlang.org/packages/rx_command

RxCommand是針對事件處理程序的基於Reactive Extensions(Rx)的抽象。它基於ReactiveUI框架的ReactiveCommand。它大量使用了RxDart包。

系統平臺有關的庫

path_provider  (獲取本地文件)

0.4.1

https://pub.dartlang.org/packages/path_provider

用於獲取Android和iOS文件系統上的常用位置,例如temp和app數據目錄。

shared_preferences  (讀寫sp文件)

0.4.2

https://pub.dartlang.org/packages/shared_preferences

用於讀寫簡單鍵值對的Flutter插件。包裝iOS上的NSUserDefaults和Android上的SharedPreferences。

connectivity  (網絡狀態)

0.3.1

https://pub.dartlang.org/packages/connectivity

用於發現Android和iOS上的網絡狀態(WiFi和移動/蜂窩)連接。

device_info  (設備信息)

0.2.1

https://pub.dartlang.org/packages/device_info

提供有關設備(品牌,型號等)的詳細信息,以及應用程序正在運行的Android或iOS版本。

flutter_blue  (藍牙)

0.3.3

https://pub.dartlang.org/packages/flutter_blue

這是跨平臺的藍牙sdk.

share  (分享)

0.5.1

https://pub.dartlang.org/packages/share

支持分享的flutter插件

open_file  (打開文件)

1.1.1

https://pub.dartlang.org/packages/open_file

調用平臺打開文件。比如直接打開一個apk文件會調起平臺的安裝嚮導。

權限庫

simple_permissions

0.1.5

https://pub.dartlang.org/packages/simple_permissions

用於android和ios的請求權限的庫

flutter_simple_permissions

0.0.1

https://pub.dartlang.org/packages/flutter_simple_permissions

地圖(地圖顯示、定位、經緯度等)

map_view

0.0.12

https://pub.dartlang.org/packages/map_view

一個用於在iOS和Android上顯示谷歌地圖的Flutter插件

flutter_map

0.0.10

https://pub.dartlang.org/packages/flutter_map

基於leaflet的Flutter地圖包

location

1.3.4

https://pub.dartlang.org/packages/location

這個插件 處理Android和iOS上的位置。它還提供位置更改時的回調。

latlong

0.5.3

https://pub.dartlang.org/packages/latlong

LatLong是一個計算通用的緯度和經度的輕量級庫。

flutter_amap

0.0.1

https://pub.dartlang.org/packages/flutter_amap

高德地圖3d flutter組件。展示原生android、ios高德地圖,並與flutter交互。

二維碼

barcode_scan

0.0.4

https://pub.dartlang.org/packages/barcode_scan

用於掃描2D條形碼和QRCodes的Flutter插件。

qrcode_reader

0.3.3

https://pub.dartlang.org/packages/qrcode_reader

使用相機讀取二維碼的Flutter插件。

WebView

flutter_webview_plugin

0.1.6

https://pub.dartlang.org/packages/flutter_webview_plugin

允許Flutter與原生Webview進行通信的插件。

圖表庫

charts-common

0.3.0

https://pub.dartlang.org/packages/charts_flutter

Material Design風格的圖表庫

charts-flutter

0.3.0

https://pub.dartlang.org/packages/charts_common

通用的圖表庫組件

flutter_circular_chart

0.0.3

https://pub.dartlang.org/packages/flutter_circular_chart

一個讓你使用flutter輕鬆創建的動畫圓形圖控件的庫。

其它

pwa

0.1.10

https://pub.dartlang.org/packages/pwa

基於Dart的PWA應用程序的庫

fluwx (微信)

0.5.5

https://pub.dartlang.org/packages/fluwx

適用於Flutter的微信SDK,方便快捷。 QQ羣:892398530。

alipay_me (支付寶)

1.0.0

https://pub.dartlang.org/packages/alipay_me

支付寶插件,支持登錄、支付。android還支持本地計算簽名。

flutter_qq  (QQ)

0.0.4

https://pub.dartlang.org/packages/flutter_qq

QQ登錄、分享到QQ、分享到QQ空間。

學習資料

https://github.com/AweiLoveAndroid/Flutter-learning

網友阿韋整理的學習資料和demo.

順便給大家推薦個免費的實用例子課程,

Flutter實用例子進階課程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章