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有狀態的小部件是可以改變的