1.flutter基礎(chǔ)概念

1.flutter是什么势腮?

2018年2月27日誉简,在2018世界移動大會上楷扬,Google發(fā)布了Flutter的第一個Beta版本翘鸭。Flutter是Google用以幫助開發(fā)者在Ios和Android兩個平臺開發(fā)高質(zhì)量原生應(yīng)用的全新移動UI框架,點擊查看Flutter介紹視頻鸳址。

flutter特點和特性

  • 熱重載(Hot Reload)瘩蚪,flutter使用了dart作為底層開發(fā)語言,其中一個很重要的原因是可以支持熱加載稿黍。
  • 一切皆為Widget的理念募舟,對于Flutter來說,應(yīng)用里的所有東西都是Widget闻察,通過可組合的空間集合、豐富的動畫庫以及分層課擴(kuò)展的架構(gòu)實現(xiàn)了富有感染力的靈活界面設(shè)計琢锋。
  • 借鑒了React的設(shè)計理念辕漂,引入了虛擬DOM的概念支持跨平臺開發(fā),但是又更進(jìn)一步:在Flutter中吴超,UI組件和渲染器已經(jīng)從平臺中集成到用戶的應(yīng)用程序中钉嘹,沒有系統(tǒng)UI組件可以操作,所以原來虛擬控件樹的地方現(xiàn)在是真實的控件樹鲸阻。Flutter渲染UI控件樹并將其繪制到平臺畫布上跋涣。這很好缨睡,既簡單又快。 此外陈辱,動畫發(fā)生在用戶空間中奖年,因此應(yīng)用程序(因此開發(fā)人員)可以對其進(jìn)行更多的控制。同時沛贪,從React中借鑒了組件繪制優(yōu)化陋守,可以提供更好的繪制性能。
  • 借助可移植的GPU加速的渲染引擎以及高性能本地代碼運行時以達(dá)到跨平臺設(shè)備的高質(zhì)量用戶體驗利赋。flutter使用Skia 2D渲染引擎直接在GDI層面繪制頁面和控件水评,對系統(tǒng)的依賴降低到最低,提供更好的跨平臺兼容性和更高的性能媚送。

2.框架結(jié)構(gòu)

下面的圖片是Flutter框架結(jié)構(gòu)圖中燥,對大部分開發(fā)者而言,最常用的是Widgets層塘偎,屏幕上可見與不可見的元素都由Widgets層實現(xiàn)疗涉,這些元素被稱為Widget。在Widgets層在上層式塌,有兩個現(xiàn)成的Widget庫博敬,Material庫即Material Design的Widget庫,Material Design是Google I/O 2014發(fā)布的設(shè)計語言峰尝,目前成為統(tǒng)一Android Mobile偏窝、Android Table剧防、Desktop Chrome等平臺的設(shè)計語言規(guī)范雹嗦。Cupertino庫則是一個模仿iOS設(shè)計風(fēng)格的Widget庫。

這里寫圖片描述

Flutter框架結(jié)構(gòu)圖的底層是Flutter Engine虛擬機(jī)姆泻,在這一層次中需要了解一下的是Skia火窒,Skia是Google研發(fā)的包括圖形硼补、文本、圖像熏矿、動畫等多方面的圖形引擎已骇,不僅用于Google Chrome瀏覽器,Android系統(tǒng)也采用Skia作為繪圖處理引擎票编。

這里寫圖片描述

上面的圖片展示了Flutter的繪圖原理褪储,F(xiàn)lutter框架直接使用Skia引擎來渲染,因此能夠控制渲染幀數(shù)慧域,從而實現(xiàn)高幀速率鲤竹。

3.flutter中基本概念

state 狀態(tài)

和React中狀態(tài)概念一致: React 的核心思想是組件化的思想,應(yīng)用由組件搭建而成昔榴,而組件中最重要的概念是State(狀態(tài))辛藻,State是一個組件的UI數(shù)據(jù)模型碘橘,是組件渲染時的數(shù)據(jù)依據(jù)。flutter程序的運行可以認(rèn)為是一個巨大的狀態(tài)機(jī)吱肌,用戶的操作痘拆,請求API和系統(tǒng)事件的觸發(fā)都是推動狀態(tài)機(jī)運行的Trigger Point,Trigger Point通過調(diào)用setState方法推動狀態(tài)機(jī)進(jìn)行響應(yīng)岩榆。

  • 狀態(tài)生命周期
這里寫圖片描述

widget 控件

在flutter中错负,一切皆控件!一切皆控件勇边!一切皆控件犹撒!牢牢記住這個概念。Text是控件粒褒,Image是控件识颊,Icon是控件,布局腳手架也是控件奕坟,變換特性也是控件祥款,頁面也是控件,甚至整個APP也是控件月杉。

用戶自定義控件分為有狀態(tài)控件和無狀態(tài)控件兩種類型刃跛。

flutter的內(nèi)置控件分為兩種:

  • 可視控件(visible widget)。即我們直接看到的控件苛萎,如text桨昙、Icon、Button腌歉,名稱理解和html標(biāo)簽相同蛙酪。

  • 布局控件(layout widget)∏谈牵可以理解為架子桂塞,如Row、Column馍驯、Container阁危。布局控件不會直接呈現(xiàn)內(nèi)容,可看作承載可視控件的容器汰瘫。所有的布局控件都有承載子控件的屬性:childchildren狂打。child可承載單個子控件,children可承載多個子控件吟吝。每個布局控件有默認(rèn)的布局方式,使其子控件按照自己的樣式安放到位子上颈娜。布局控件提供了各種樣式的參數(shù)剑逃,可實現(xiàn)子控件的對齊(align)浙宜、縮放(size)、包裝(pack)和嵌套(Nest)蛹磺。簡單總結(jié)為:布局控件是為了實現(xiàn)可視控件的各種視覺效果而做的包裝粟瞬。

  • 控件生命周期

這里寫圖片描述
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市萤捆,隨后出現(xiàn)的幾起案子裙品,更是在濱河造成了極大的恐慌,老刑警劉巖俗或,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件市怎,死亡現(xiàn)場離奇詭異,居然都是意外死亡辛慰,警方通過查閱死者的電腦和手機(jī)区匠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帅腌,“玉大人驰弄,你說我怎么就攤上這事∷倏停” “怎么了戚篙?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溺职。 經(jīng)常有香客問我岔擂,道長,這世上最難降的妖魔是什么辅愿? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任智亮,我火速辦了婚禮,結(jié)果婚禮上点待,老公的妹妹穿的比我還像新娘阔蛉。我一直安慰自己,他們只是感情好癞埠,可當(dāng)我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布状原。 她就那樣靜靜地躺著,像睡著了一般苗踪。 火紅的嫁衣襯著肌膚如雪颠区。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天通铲,我揣著相機(jī)與錄音毕莱,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛朋截,可吹牛的內(nèi)容都是我干的蛹稍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼部服,長吁一口氣:“原來是場噩夢啊……” “哼唆姐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起廓八,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤奉芦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后剧蹂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體声功,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年国夜,在試婚紗的時候發(fā)現(xiàn)自己被綠了减噪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡车吹,死狀恐怖筹裕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窄驹,我是刑警寧澤朝卒,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站乐埠,受9級特大地震影響抗斤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丈咐,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一瑞眼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棵逊,春花似錦伤疙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛙讥,卻和暖如春锯蛀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背次慢。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工旁涤, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留翔曲,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓劈愚,卻偏偏與公主長得像部默,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子造虎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容