一、Flutter 底層框架梳理

1??Flutter includes a modern reactive framework and a 2 D rendering engine.

Flutter包括一個現代的反應框架和一個2D渲染引擎。

2??窗口小部件Widget

Widget是Flutter應用程序的基礎。 Widget是對用戶界面的一部分的描述。

當Widget發生變化的時候,例如點擊一個按鈕部件去改變狀態

Widget會根據新狀態重建自身。

這節省了開發者的時間,因為UI可以被描述為狀態的函數。

當狀態發生變化時,我們不必編寫額外的代碼來單獨更新UI。

該框架創建一個差異來確定,差異變化需要去更新渲染樹

渲染引擎是自己APP的一部分,我們不需要將UI渲染代碼連接到本地平臺。

布局和渲染調用比平臺特定的調用發生的頻率要高得多,就像是移動設備的相機,通過在應用端進行所有渲染工作,flutter可以快速渲染并重新渲染你的Widget,允許豐富的動作和平滑的滾動。這個渲染引擎建在Skia,一個2D圖形渲染庫和Dart語言,如下圖

iOS與安卓平臺為我們提供了一個畫布,用于放置我們的小部件和渲染引擎,這是提前編譯本地代碼的好處,盡管他已經為你的應用程序編寫了他們所需的設備插件

,比如像相機或者WiFi只要你的平臺去調用,flutter應用可以編譯并運行在您選擇的目標平臺上

3?? 熱重載

widget檢查器和代碼自動格式化器,這會減輕你的開發壓力,當我們進行更改時,flutter會立即提供有狀態的UI重新加載,這是在使用即時編譯器的時候,

4??架構,程序本身就是widget構成的

分為有狀態以及無狀態

less無狀態的小部件是不可改變的,這意味著我們在編譯以及初始化他們的時候,他們所有的字段都必須是最終的,我們可以在創建小部件的時候傳遞自定義的屬性,比如背景顏色,但是一旦創建,這些屬性無法進行改變,無狀態的小部件是不可以交互式的;

ful有狀態的小部件是可以改變的

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容