網絡請求
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