真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter包,Flutter包大小

flutter 打出來(lái)ipa的包可以本機(jī)安裝嘛

可以

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的通渭網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

IPA是Apple程序應(yīng)用文件iPhoneApplication的縮寫,解壓后即可使用,卸載的話也只用刪除程序文件即可(這里不涉及 pkg 格式安裝包)。

Flutter初探--常用依賴包

國(guó)外地址:

國(guó)內(nèi)鏡像:

以 flutter_screenutil 為例

路由框架 annotation_route

狀態(tài)管理 provider

UI適配 flutter_screenutil

刷新控件 flutter_easyrefresh

網(wǎng)絡(luò)請(qǐng)求 dio

toast控件 fluttertoast

圖表庫(kù) charts_flutter

網(wǎng)絡(luò)監(jiān)聽 connectivity

事件總線 event_bus

日歷組件 table_calendar

官方webview webview_flutter

第三方webview flutter_webview_plugin

該篇文章為常用依賴包總結(jié),用來(lái)記錄所需要的常用依賴包,后續(xù)會(huì)不斷擴(kuò)充內(nèi)容~

Flutter是一個(gè)什么框架

Flutter是一個(gè)移動(dòng)應(yīng)用程序的軟件開發(fā)工具包(SDK),具有以下特征:

跨平臺(tái)應(yīng)用的框架,沒有使用WebView或者系統(tǒng)平臺(tái)自帶的控件,使用自身的高性能渲染引擎自繪

簡(jiǎn)化版的瀏覽器,最大限度在android和ios上統(tǒng)一UI,包括業(yè)務(wù)邏輯和用戶體驗(yàn)

開發(fā)語(yǔ)言使用dart,結(jié)合C, C++, 和Skia(2D渲染引擎)構(gòu)建

支持hot reload,包含著完整的控件和工具鏈

一切皆控件,控件是每個(gè)Flutter應(yīng)用程序的基本構(gòu)建塊,與分離視圖、控制器、布局和其他屬性的框架不同,F(xiàn)lutter具有一致的統(tǒng)一對(duì)象模型:控件。一個(gè)控件可以定義:結(jié)構(gòu)元素(比如按鈕或菜單)、風(fēng)格元素(比如字體或顏色方案)、布局的方面(比如填充)、一些業(yè)務(wù)邏輯等

組合大于繼承,控件本身通常由許多小型、單用途的控件組成,結(jié)合起來(lái)產(chǎn)生強(qiáng)大的效果,類的層次結(jié)構(gòu)是扁平的,以最大化可能的組合數(shù)量

強(qiáng)化版的WebView,框架僅提供一個(gè)View層,大部分功能要依賴原生

目前只能夠運(yùn)行大部分Dart代碼(不能引入dart:mirrors或dart:html庫(kù))

Flutter發(fā)布Package(Pub.dev或私有Pub倉(cāng)庫(kù))

??因?yàn)槲覀兪褂肍lutter跨平臺(tái)技術(shù)開發(fā)App時(shí),會(huì)有很多公用組件,因?yàn)镕lutter中一切皆為Widget,widget也比較細(xì)粒度,所以我們需要進(jìn)行封裝,用于一個(gè)項(xiàng)目或者公司不同項(xiàng)目中去~

??那么今天寫寫如何發(fā)布package或者插件到Pub.dev上,扯扯談O(∩_∩)O哈哈~

《Flutter的撥云見日》系列文章如下:

1、Flutter中指定字體(全局或者局部,自有字庫(kù)或第三方)

2、Flutter發(fā)布Package(Pub.dev或私有Pub倉(cāng)庫(kù))

首先,我們知道flutter有四種工程模式:Flutter Application、Flutter Module、Flutter Plugin和Flutter Package。

我們這里就主要講Package 純Dart插件的發(fā)布吧,都差不多。

創(chuàng)建工程后,就可以編寫你的公共組件,或者公用字體庫(kù)呀啥的, 都行。

在更改下你的pubspec.yaml文件,修改下你的versionCode,項(xiàng)目名稱,項(xiàng)目描述,作者等

如果上傳失敗試試????的命令:

在執(zhí)行該命令時(shí),可能會(huì)中途調(diào)到網(wǎng)頁(yè),要求你登錄google賬號(hào),登錄授權(quán),到時(shí)候登錄賬號(hào)并授權(quán)就可以了。

因?yàn)槲覀冎苯邮褂胒lutter packages pub publish是發(fā)布到Pub.dev上,并不是發(fā)布到私有倉(cāng)庫(kù),該怎么辦呢?

其實(shí)呢,也很簡(jiǎn)單!像versionCode,項(xiàng)目名,等都和發(fā)布Pub.dev是一樣的。沒啥區(qū)別。

有兩種方式:

就是這么簡(jiǎn)單o( @ )o

相信大家引用Pub.dev上的第三方庫(kù)都會(huì)了哈,到處都是這里不講了

在使用flutter pub get就可以拉到私有倉(cāng)庫(kù)項(xiàng)目了

以上就差不多聊了聊package發(fā)布和獲取的事兒了,都很明了,大家可以試試,挺簡(jiǎn)單的。

PS: 寫文不易,覺得沒有浪費(fèi)你時(shí)間,請(qǐng)給個(gè)點(diǎn)贊~ ????

Flutter打包產(chǎn)物

基于flutter版本1.9.1,低版本區(qū)別對(duì)待。

lib目錄,libflutter.so文件,三個(gè)目錄armeabi-v7a,x86_64和x86,支持arm平臺(tái)32和x86的32和64。

asset目錄,新增flutter_asset目錄,三個(gè)文件,dart產(chǎn)物。

lib目錄,libflutter.so文件,兩個(gè)目錄armeabi-v7,arm64-v8a,支持arm平臺(tái)32和64。

asset目錄,新增flutter_asset目錄。

在release模式,libapp.so替代flutter老版本的一些dart產(chǎn)物,如下。

flutter命令打包生成產(chǎn)物,flutter命令腳本會(huì)調(diào)用dart命令。

dart的編譯模式:

kernel snapshot 模式,開發(fā)階段,isolate_snapshot_data,vm_snapshot_data,kernel_blob_bin是業(yè)務(wù)數(shù)據(jù)。

core jit,

生產(chǎn)階段,dart的一種二進(jìn)制模式,這是一種aot模式,vm和isolate。

任重而道遠(yuǎn)

Flutter 與 iOS 原生 webView 對(duì)比

本文對(duì)比的是 UIWebView、WKWebView、flutter_webview_plugin(在iOS中使用的是WKWebView)的加載速度,內(nèi)存使用情況。

測(cè)試網(wǎng)頁(yè)打開的速度,只需要獲取 WebView 在開始加載網(wǎng)頁(yè)和網(wǎng)頁(yè)加載完成時(shí)的時(shí)間戳,時(shí)間戳的差即為打開網(wǎng)頁(yè)的時(shí)間

為了使差異更明顯,我們選擇較為復(fù)雜的 新浪首頁(yè) 進(jìn)行加載的對(duì)比,為了減小網(wǎng)絡(luò)對(duì)加載速度的影響,我們讓手機(jī)連接同一個(gè)網(wǎng)絡(luò),分別進(jìn)行 10 次測(cè)試然后取平均值,另外,我們需要關(guān)閉 WebView 的緩存,防止緩存對(duì)加載速度產(chǎn)生影響

下面使筆者進(jìn)行 10 次測(cè)試所得到的數(shù)據(jù)

結(jié)果讓我有點(diǎn)驚訝,一直以為 WKWebView 會(huì)是個(gè)王者。結(jié)果看,速度上 WKWebView 略慢一點(diǎn),不過總體差異不大(該結(jié)果僅僅是測(cè)試新浪的結(jié)果,僅供參考啦)

在這里,筆者又加了一個(gè)測(cè)試,嘗試記錄從 viewController 的 viewDidLoad 到 webview 的 didFinish 時(shí)間,測(cè)試了新浪的數(shù)據(jù),如下:

UIWebViewA : 4970、3808、3815、4250、3556 avg(4079.8) (加載完所有頁(yè)面)

UIWebViewB : 4103、3124、3070、3256、2835 avg(3277.6)(加載sina完畢)

WKWebView : 3672、3032、2892、2912、2739 avg(3049.4)

flutter_webView : 4532、3901、4310、3496、3378 avg(3923.4)

其中可以看到,webView 有兩行,UIWebViewB 的數(shù)據(jù)就是加載 sina 主站的時(shí)間;UIWebViewA 的數(shù)據(jù)是因?yàn)樵诩虞d完 sina 主站之后,新浪又加載了一個(gè) ,所以導(dǎo)致總時(shí)間延長(zhǎng),不過即使按照 UIWebViewB 的數(shù)據(jù)來(lái)比較,也是 wkWebView 略勝一籌。

此處可以看出 flutter_webView 使用的是 wkwebView,所以它吃虧的主要原因是 flutter 包了一層。

結(jié)論:

速度(didStart - didFinish) UIWebView flutter_webview WKWebView

速度(viewDidLoad - didFinish)WKWebView UIWebView flutter_webview

這里查看內(nèi)存使用的是 xcode 的 debug session 中的 memory。

首先看之前測(cè)試時(shí),連續(xù)打開十次新浪的內(nèi)存情況

接著我們?cè)诳匆幌麓蜷_淘寶首頁(yè)的內(nèi)存情況

從圖上可以看出,WKWebView 在內(nèi)存方面有很大的優(yōu)勢(shì)啊,UIWebView 的內(nèi)存是真的傷啊,然后 debug 看了一下 flutter_webView,他使用的就是原生的 webView 。

他相比較原生 WKWebView 的內(nèi)存開銷稍大一點(diǎn),從測(cè)試表現(xiàn)來(lái)看,一般大個(gè) 30 MB 左右。

結(jié)論:內(nèi)存 WKWebView flutter_webview UIWebView

可以在 html5test 中對(duì)瀏覽器的兼容性進(jìn)行評(píng)分,通過測(cè)試發(fā)現(xiàn)得分分別如下

因?yàn)?flutter 里使用的就是 WK,所以和原生的 WKWebView 一樣都是 444 分,比 UIWebView 的 437 略勝一籌

結(jié)論:兼容性 WKWebView = flutter_webview UIWebView

UIWebView : 速度相比較 WKWebView 稍快一點(diǎn),但是內(nèi)存是一大硬傷,所以只要條件允許,就不推薦使用了

WKWebView : 速度略慢一點(diǎn),不過差別不大,總體可以接受。是比UIWebView更好的選擇,推薦使用。

flutter_webView_plugin :在iOS中使用的就是原生的WKWebView,所以總體和 native WKWebView 表現(xiàn)差不多。如果是混編項(xiàng)目中,因?yàn)樗话艘粚?,所以?yè)面加載上存在一定的劣勢(shì),所以混編項(xiàng)目中仍然推薦使用 WKWebView。不過如果從多端考慮、以及項(xiàng)目可遷移等,那么使用也未嘗不可,就是維護(hù)成本要增加一些,需要維護(hù)兩套 webView。這個(gè)就需要根據(jù)自己的情況自己取舍了。


新聞名稱:flutter包,Flutter包大小
本文路徑:http://weahome.cn/article/dsdspjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部