Flutter - 學(xué)習(xí)總覽

Flutter 終于正式來啦,現(xiàn)在都到 1.2 版了,雖然現(xiàn)在仍然有很多坑,很多問題,在 android 中嵌入 Flutter 還是不夠好,但是我們學(xué)習(xí) Flutter 的卻是時(shí)候了,不說你在公司 android 項(xiàng)目里有多少應(yīng)用,F(xiàn)lutter 的學(xué)習(xí)總是有必要的,先了解,熟悉,在可以的時(shí)候直接上了,F(xiàn)lutter 的未來不用擔(dān)心,你知道 Flutter 妥妥的就是未來就行了

這里我整理下找到的資料,放上些自己的理解,方便大家的學(xué)習(xí),也方便自己查閱

Flutter 的原理很簡(jiǎn)單,?創(chuàng)建一張畫布,并在這張畫布上渲染界面。同時(shí),監(jiān)聽原生事件,在 Dart 層響應(yīng)所有觸摸事件。這和跨平臺(tái)游戲引擎的原理是一致的。抽象出統(tǒng)一的界面、觸摸、交互語言,然后使用一致的渲染引擎呈現(xiàn)最終產(chǎn)物


官方網(wǎng)站:

學(xué)習(xí)網(wǎng)站:

簡(jiǎn)友教程:

蓋世英雄_64c4 | Q吹個(gè)大氣球Q | iwakevin
走路不穿鞋oO | TYL_CQ | 閑魚技術(shù) | 謝棟_ | guaju
阿策神奇 | 開心人 | 乘香墨影 | 戀貓?jiān)铝?/a> | Yuzo


Dart 教程

Flutter 特性了解

Flutter 環(huán)境配置、軟件安裝、首次運(yùn)行

視頻教程

實(shí)戰(zhàn)項(xiàng)目

  1. Flutter 天氣 app

  2. 上拉下拉

  3. 阿里 Flutter-go

  4. Flutter豆瓣客戶端

  5. Panda看書


Flutter 和 Android 相互集成


其他學(xué)習(xí)資源


Flutter 開發(fā)思路

  1. Flutter 嵌入 android 插件
    Flutter 是 UI 層級(jí)的跨平臺(tái),對(duì)于很多功能來說,不同平臺(tái)有各自不同的實(shí)現(xiàn),F(xiàn)lutter 層就無能為力了,這時(shí)可以在比如 android 平臺(tái)編寫一個(gè) Plugin 插件,然后 Flutter 依賴這個(gè)平臺(tái) native 實(shí)現(xiàn)的庫(kù),通過 MethodChannel 實(shí)現(xiàn)通信,具體請(qǐng)看:

  2. 優(yōu)先加載渲染耗時(shí)的 Flutter 首幀
    FlutterView的首幀渲染耗時(shí)較高,在Debug版本有明顯感受,大概會(huì)黑屏2秒,release版本會(huì)好很多。但我們觀察Cpu曲線,發(fā)現(xiàn)還是一個(gè)較為耗時(shí)的過程。有一種體驗(yàn)優(yōu)化的思路是,我們可以預(yù)先讓將要使用的 FlutterView 加載好首幀,這樣,在真正使用的時(shí)候就很快了,可以先建立一個(gè)只有1個(gè)像素的窗口,在這個(gè)窗口里面完成FlutterView首幀渲染,代碼如下:

  3. Flutter 跨平臺(tái)開發(fā)


Flutter 目前的問題

Flutter 目前對(duì)于我們來說還是太新了,至少缺乏全面的第三發(fā)庫(kù)和服務(wù)支持就是個(gè)死穴,目前適合研究,上手,商業(yè)應(yīng)用需謹(jǐn)慎

  • 摘自: Flutter技術(shù)調(diào)研報(bào)告
  • Dart 語言,作為一門全新的語言上手成本比較高,對(duì)于移動(dòng)端開發(fā)人員,語言以及框架都是全新的,整個(gè)技術(shù)棧的積累也都得從頭開始
  • 編譯后的包體積較大
  • 欠缺第三方庫(kù),需要自己造輪子
  • 默認(rèn)只支持 arm-v7a CPU 架構(gòu),后期應(yīng)該可以修改編譯配置解決此問題
  • 多個(gè) Feature 同時(shí)請(qǐng)求時(shí),可能有的收不到回調(diào),這個(gè)可能是Dart的消息機(jī)制有關(guān),需要進(jìn)一步研究,非必現(xiàn)
  • WebView的支持很弱
  • 音視頻的支持很弱
  • API 類似 Android ,對(duì) iOS 開發(fā)者上手可能不是非常友好
  • 圖片資源的多倍率適配問題,必須提供一倍圖,會(huì)增大應(yīng)用體積
  • Fluter UI實(shí)現(xiàn)嵌套層次太多,可閱讀程度不高(很低 )
  • 境外環(huán)境依賴(有國(guó)內(nèi)鏡像),新建項(xiàng)目 dart package get 不穩(wěn)定
  • Flutter 的設(shè)計(jì)圖標(biāo)準(zhǔn),比如像素值,和 Android 和 ios 的設(shè)計(jì)標(biāo)準(zhǔn)有區(qū)別
  • 圖片和文字混排,實(shí)現(xiàn)比較麻煩
  • ListView 的視圖復(fù)用機(jī)制,需要調(diào)研,感覺 View 多了會(huì)有點(diǎn)卡頓
  • 網(wǎng)絡(luò)圖片的緩存機(jī)制,需要調(diào)研,目前Image所以支持網(wǎng)絡(luò)圖片,但是關(guān)于它的緩存,還不清楚

Flutter Weight UI 組件表


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄 一、Flutter 為何使用Dart開發(fā)語言二、Flutter的UI系統(tǒng)1.特點(diǎn)2.架構(gòu)簡(jiǎn)介2.1 Flut...
    十拿九穩(wěn)啦閱讀 3,892評(píng)論 3 28
  • 在我們深入學(xué)習(xí) Flutter 之前,對(duì) Flutter 特性有個(gè)清晰的認(rèn)識(shí)我認(rèn)為是非常有必要的,這會(huì)讓我們后面的...
    前行的烏龜閱讀 3,211評(píng)論 3 16
  • 原文 阿里技術(shù) ,傳送門 Flutter簡(jiǎn)介 Flutter的架構(gòu)主要分成三層:Framework,Engine和...
    蓋世英雄_ix4n04閱讀 5,479評(píng)論 1 23
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,658評(píng)論 4 61
  • 1.最大的不同之處在于除了借用交替學(xué)習(xí)方法之外,還加入了更多有意識(shí)的考量。用知覺學(xué)習(xí)模塊時(shí)節(jié)奏必須要快,要讓視覺等...
    玥媽love萌寶育兒護(hù)理師閱讀 276評(píng)論 0 0

友情鏈接更多精彩內(nèi)容