20個(gè)你應(yīng)該了解的Flutter庫(kù)
在本文中,我們將討論20個(gè)最有用和最常用的庫(kù),許多開發(fā)人員都喜歡它們,如果你從事flutter的開發(fā)工作,你應(yīng)該知道這一點(diǎn)。而所有這些都支持安卓和IOS系統(tǒng)。
1. Google Map
目前大多數(shù)應(yīng)用程序都需要谷歌Maps,這個(gè)庫(kù)為您提供了谷歌Maps應(yīng)用程序中需要的許多服務(wù)。甚至你也可以用自己的方式定制。
- GoogleMap(
- mapType: MapType.hybrid,
- initialCameraPosition: _kGooglePlex,
- onMapCreated: (GoogleMapController controller) {
- _controller.complete(controller);
- },
- ),
2.url_launcher
這個(gè)庫(kù)支持您啟動(dòng)URL到您的web瀏覽器,他們也支持啟動(dòng)您的本機(jī)模式URL,如電話,短信,電子郵件等。
- _launchURL() async {
- const url = 'https://flutter.dev’;
- if (await canLaunch(url)) {
- await launch(url);
- } else {
- throw 'Could not launch $url’;
- }
- }
3.Firebase packages (FlutterFire)
這不是一個(gè)單獨(dú)的,它是一組集合庫(kù),firebase支持您的flutter應(yīng)用程序。
我們?cè)趹?yīng)用程序中使用 firebase 來實(shí)現(xiàn)多種不同的方法,例如消息傳遞、數(shù)據(jù)庫(kù)等。
因此,在這里你可以根據(jù)你的要求找到所有這些東西,它為此單獨(dú)提供了一個(gè)庫(kù)。
4.Provider
狀態(tài)管理是我們應(yīng)用程序的重要組成部分,Provider 在我們當(dāng)前需要的地方提供當(dāng)前的數(shù)據(jù)模型。
Provider是 InheritedWidget 的包裝器,可以使用更少的樣板代碼更輕松地使用。
Provider 是最基本的 Provider widget類型。您可以使用它為widget樹中的任何位置提供值(通常是數(shù)據(jù)模型對(duì)象)。但是,當(dāng)該值更改時(shí),它不會(huì)幫助您更新widget樹。
5.Bloc
這也是一個(gè)狀態(tài)管理庫(kù)。Bloc(Business Logic Component)設(shè)計(jì)模式,這是一種類似于MVVM模式的東西。
Bloc widget是你實(shí)現(xiàn)所有業(yè)務(wù)邏輯所需的基本組件。要使用它,請(qǐng)擴(kuò)展Bloc類并重寫 mapEventToState 和 initialState 方法。
6.Getx
它也是一個(gè)狀態(tài)管理庫(kù)。GetX 提供了狀態(tài)管理、依賴注入和路由管理解決方案的組合,可以很好地協(xié)同工作。
GetX 是 Flutter 的一個(gè)超輕且強(qiáng)大的解決方案。它快速實(shí)用地結(jié)合了高性能狀態(tài)管理、智能依賴注入和路由管理。
7.ReduX
Redux for Dart 將泛型用于類型化狀態(tài)。它包含豐富的文檔、中間件、開發(fā)工具生態(tài)系統(tǒng),并且可以使用 flutter_redux 包與 Flutter 結(jié)合。
8.Rxdart
RxDart 是 Dart 語(yǔ)言的反應(yīng)式函數(shù)式編程庫(kù),基于 ReactiveX。
它也是一個(gè)狀態(tài)管理解決方案庫(kù)。
9.Location
它在位置改變時(shí)提供回調(diào)。我們可以輕松地在地圖和其他使用中管理我們的應(yīng)用程序,我們需要當(dāng)前位置,如果用戶位置發(fā)生變化,那么我們的應(yīng)用程序會(huì)實(shí)時(shí)更新,而無需一次又一次地調(diào)用函數(shù)。
10.Device_info
我們可以從 Flutter 應(yīng)用程序中獲取當(dāng)前設(shè)備信息。這意味著他們提供了您的設(shè)備相關(guān)信息,如操作系統(tǒng)版本、名稱等。
11.Sqflite
它提供了本地?cái)?shù)據(jù)庫(kù)存儲(chǔ),就像我們?cè)?Android 中使用 Sqlite 一樣。
它主要用于本地存儲(chǔ),為大型表格的創(chuàng)建和存儲(chǔ)提供解決方案。
12.Cached network image
一個(gè)flutter庫(kù),用于顯示來自互聯(lián)網(wǎng)的圖像,并將其保存在緩存目錄中。
這個(gè)庫(kù)的主要用途是你只能加載一次圖像,之后這個(gè)庫(kù)將它保存在緩存中。所以你不需要一次又一次地加載。
13.SharedPreferences
Shared Preferences 用于在本地存儲(chǔ)數(shù)據(jù)鍵值對(duì),而無需進(jìn)行太多代碼結(jié)構(gòu)或表創(chuàng)建。
如果你知道android的Shared-preferences,那么你會(huì)看到這個(gè)庫(kù)是一樣的。
14.Intl
這個(gè)軟件包提供了國(guó)際化和本地化設(shè)施,包括消息翻譯、數(shù)字和性別、日期/數(shù)字格式化和解析,以及雙向文本。
15.Path provider
一個(gè)Flutter插件,用于查找文件系統(tǒng)上的常用位置。支持iOS、Android、Linux和macOS。并非所有平臺(tái)都支持所有方法。
16.Google fonts
Flutter 的 google_fonts 包允許您在 Flutter 應(yīng)用程序中輕松使用來自 fonts.google.com 的 977 種字體(及其變體)中的任何一種。
17.charts_flutter
這個(gè)插件在您的flutter項(xiàng)目中提供各種類型的圖表結(jié)構(gòu),如條形圖、線形圖、圓形圖等。
18.Package info
這個(gè)Flutter插件用于查詢有關(guān)應(yīng)用程序包的信息,如iOS上的CFBundleVersion或Android上的versionCode。
插件提供有關(guān)設(shè)備(品牌、型號(hào)等)的詳細(xì)信息,以及運(yùn)行應(yīng)用程序的 Android 或 iOS 版本。
19.Share
這個(gè)Flutter插件用于通過平臺(tái)共享UI來分享內(nèi)容,在Android上使用ACTION_SEND意圖,在iOS上使用UIActivityViewController。
20.Dio
dio 插件是 Dart 的一個(gè)強(qiáng)大的 HTTP 客戶端,支持?jǐn)r截器、FormData、請(qǐng)求取消、文件下載、超時(shí)等。
原文:https://shirsh94.medium.com/20-flutter-library-that-you-should-know-about-it-8f3d33a08817
作者:Shirsh Shukla