国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android:手把手帶你入門跨平臺(tái)UI開發(fā)框架Flutter,渣本Android開發(fā)小伙如何一步步成為架構(gòu)師

這篇具有很好參考價(jià)值的文章主要介紹了Android:手把手帶你入門跨平臺(tái)UI開發(fā)框架Flutter,渣本Android開發(fā)小伙如何一步步成為架構(gòu)師。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

3.1 框架結(jié)構(gòu)

Flutter框架主要分為兩層:FrameWork層、Engine層,如下圖所示:

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

說明:開發(fā)時(shí),主要基于Framework層;運(yùn)行時(shí),則是運(yùn)行在 Engine上。每層的具體介紹如下:

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

3.2 原理概述

開發(fā)時(shí),主要基于Framework層;運(yùn)行時(shí),則是運(yùn)行在 Engine上

Engine是Flutter的獨(dú)立虛擬機(jī),由它適配 & 提供跨平臺(tái)支持;因?yàn)槠浯嬖?,F(xiàn)lutter不使用移動(dòng)端系統(tǒng)的原生控件, 而是使用自己 Engine 來繪制 Widget (Flutter的顯示單元);Dart 代碼是通過 AOT 編譯為平臺(tái)的原生代碼,所以 Flutter可直接與平臺(tái)通信,不需要JS引擎的橋接。

同時(shí) Flutter 唯一要求系統(tǒng)提供的是 canvas,以實(shí)現(xiàn)UI的繪制。

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

編譯時(shí),具體如下:

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

3.3 關(guān)于widget

Flutter理念:“一切皆為Widget”,Widget是Flutter應(yīng)用程序用戶界面的基本構(gòu)建塊,具備以下特點(diǎn):

  • 屬于具有一致性的統(tǒng)一對象模型,與其他將視圖、控制器、布局和其他屬性分離的框架不同。更新widget時(shí)更加高效

  • 不可變的,僅支持一幀,且每一幀上不會(huì)直接更新,要更新而必須使用Widget的狀態(tài)。無狀態(tài)和有狀態(tài)Widget 的核心特性相同,每一幀都會(huì)重新構(gòu)建;

  • 有一個(gè)State對象,用于跨幀存儲(chǔ)狀態(tài)數(shù)據(jù) & 恢復(fù)

4. 特點(diǎn)

Flutter具備跨平臺(tái)、開發(fā)效率高 & 高性能的特點(diǎn)

具體說明如下:

4.1 跨平臺(tái) & 開發(fā)效率高

Flutter通過使用上述所述的自身渲染引擎、原理框架 & Widget運(yùn)行,使用一套代碼即可同時(shí)構(gòu)建iOS和Android應(yīng)用,從而實(shí)現(xiàn)跨平臺(tái)的特性,最終提高開發(fā)的效率

4.2 高性能
  • 原因1:通過其自帶的高性能渲染引擎進(jìn)行渲染

  • 原因2:Dart語言本身的語言特性

  • 原因3:編譯過程特點(diǎn),具體如下:

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

5. 對比

跨平臺(tái)開發(fā)的本質(zhì)是為了:增加代碼復(fù)用、減少不同平臺(tái)差異適配的工作量 & 提高開發(fā)效率。

目前主流的跨平臺(tái)開發(fā)框架有:React-Native、Weex和本文提及的Flutter。下面,我先簡單介紹React-Native和Weex,再進(jìn)行三者的對比。

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

5.1 React-Native

簡介 由Facebook出品,采用了JavaScript語言、JSCore引擎和通過原生渲染的跨平臺(tái)框架

實(shí)現(xiàn)原理

通過編寫JavaScript語言代碼,通過 React Native 的中間層來調(diào)用 Native端的組件,最終實(shí)現(xiàn)相應(yīng)的功能。JS端中所寫控件的作用類似 Map中的key 值,對應(yīng)著Native端的對應(yīng)控件(如 Android 中 標(biāo)簽對應(yīng) ViewGroup 控件)。JS端會(huì)通過多個(gè)key 組合成Dom,最后交由Native端進(jìn)行解析,最終渲染出Native端的控件。

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

實(shí)現(xiàn)框架

React Native的架構(gòu)主要由三層實(shí)現(xiàn)。其中最重要的是由C++ 實(shí)現(xiàn)的中間適配層,此處最主要封裝了JavaScriptCore用于執(zhí)行JS的解析,最終實(shí)現(xiàn)了JS端與原生端的雙向通信交互。而React Native運(yùn)行在JavaScriptCore中。(在iOS上直接使用內(nèi)置的javascriptcore、在Android則使用webkit.org官方開源的jsc.so)

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

5.2 Weex

簡介 由Alibaba出品,采用了JavaScript語言、JS V8引擎和通過原生渲染的跨平臺(tái)框架

實(shí)現(xiàn)原理

與React-Native類似,JS端會(huì)通過多個(gè)key組合成Dom,最后交由Native端進(jìn)行解析,最終渲染出Native端的控件,但區(qū)別在于:Weex是可以跨三端的 = Android、iOS、Web,其原因在于在開發(fā)過程中,代碼模式、編譯過程、模板組件、數(shù)據(jù)綁定、生命周期等上層語法是一致,不同的是Web端和Native端對Virtual DOM 執(zhí)行的解析方法有所區(qū)別。

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

實(shí)現(xiàn)框架

weex的架構(gòu)主要分為三部分,具體如下:

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

5.3 三者對比

flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

注:對于性能的對比,從理論上來說Flutter應(yīng)該是最接近原生性能 & 最好的,但就目前實(shí)際應(yīng)用&體驗(yàn)中并沒具備很明顯的差異化,后續(xù)需進(jìn)行進(jìn)一步的驗(yàn)證。

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)初中級安卓工程師,想要提升技能,往往是自己摸索成長,但自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年最新Android移動(dòng)開發(fā)全套學(xué)習(xí)資料》送給大家,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。
flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter
flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter
flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter
flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

由于文件比較大,這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻
如果你覺得這些內(nèi)容對你有幫助,可以添加下面V無償領(lǐng)取?。▊渥ndroid)
flutter 框架開發(fā)android,程序員學(xué)習(xí),android,ui,flutter

922583062)]
[外鏈圖片轉(zhuǎn)存中…(img-967MhbvP-1710922583063)]

由于文件比較大,這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻
如果你覺得這些內(nèi)容對你有幫助,可以添加下面V無償領(lǐng)?。。▊渥ndroid)
[外鏈圖片轉(zhuǎn)存中…(img-xIBr8xZJ-1710922583063)]文章來源地址http://www.zghlxwxcb.cn/news/detail-853190.html

到了這里,關(guān)于Android:手把手帶你入門跨平臺(tái)UI開發(fā)框架Flutter,渣本Android開發(fā)小伙如何一步步成為架構(gòu)師的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包