flutter學習那點事

2021-10-06 08:06:54 字數 1452 閱讀 6918

這是乙個純 dart實現的 sdk,它實現了一套基礎庫,自底向上,我們來簡單介紹一下:

rendering層,這一層是乙個抽象的布局層,它依賴於dart ui層,rendering層會構建乙個ui樹,當ui樹有變化時,會計算出有變化的部分,然後更新ui樹,最終將ui樹繪製到螢幕上,這個過程類似於react中的虛擬dom。rendering層可以說是flutter ui框架最核心的部分,它除了確定每個ui元素的位置、大小之外還要進行座標變換、繪製(呼叫底層dart:ui)。

widgets層是flutter提供的的一套基礎元件庫,在基礎元件庫之上,flutter還提供了 material 和cupertino兩種視覺風格的元件庫。而我們flutter開發的大多數場景,只是和這兩層打交道

這是乙個純 c++實現的 sdk,其中包括了 skia引擎、dart執行時、文字排版引擎等。在**呼叫dart:ui庫時,呼叫最終會走到engine層,然後實現真正的繪製邏輯。

dart

變數 var var一旦賦值其型別就確定了 再次賦值只能與第一次賦值型別一致

var i = 10;

// error

// i = "error";

dynamicobject

dynamicobject不同的是,dynamic宣告的物件編譯器會提供所有可能的組合, 而object宣告的物件只能使用object的屬性與方法, 否則編譯器會報錯。

finalconst

如果您從未打算更改乙個變數,那麼使用finalconst,不是var,也不是乙個型別。 乙個final變數只能被設定一次,兩者區別在於:const變數是乙個編譯時常量,final變數在第一次使用時被初始化。被final或者const修飾的變數,變數型別可以省略

dart函式宣告如果沒有顯式宣告返回值型別時會預設當做dynamic處理,注意,函式返回值沒有型別推斷:

在flutter中,widget的功能是「描述乙個ui元素的配置資料」,它就是說,widget其實並不是表示最終繪製在裝置螢幕上的顯示元素,而它只是描述顯示元素的乙個配置資料。實際上,flutter中真正代表螢幕上顯示元素的類是element,也就是說widget只是描述element的配置資料!

學習那點事

這一周快過去了,回顧這一周,學到的,講到的東西,都很多,其實作為一名程式設計師,是不應該怕累的,雖然很累,學無止境,每天都要更新自己的知識,才能成為一名合格的程式設計師。我一直很想成為一名優秀的程式設計師,從剛開始的無知,經過很盲目,到現在明白了自己要學的是什麼,要怎樣學,這是乙個很艱難的過程,自己...

學習PHP那點事

對於今天這帖子,我也是醉了,本來打算做乙個安安穩穩的美男子來著,沒想到申請的賬號還不能發帖子,只能使用學校給的,這也沒法隱藏了,關於老師的爆料也是不敢說了。對於php110期剛開沒乙個月的班來說,我們都還太年輕,就是年齡大了,剛來那會,各種十幾歲的,見人都不敢問年齡了,尤其是還有一年齡大,長的年齡的...

選舉那點事

選舉那點事 選舉前,大家都互相的打招呼,拉選票。可是我當時覺得好孤獨,好寂寞。當我看到大家在一起熱鬧的打招呼時,真的是忍受不了這種氛圍,偷偷的溜出去,暗自哭泣。我想知道這是不是以自我為中心,不願意走出去,將自己封閉了。我還想知道就那麼20票,當每個人都給你說要投他一票時,自己該怎麼說。老師說要的是鍛...