當前位置:成語大全網 - 書法字典 - 為什麽Flutter開發APP性能最接近原生,前端程序員要註意。

為什麽Flutter開發APP性能最接近原生,前端程序員要註意。

Flutter是Google推出的跨終端開發框架,支持Android、iOS和WEB終端。1.0版本發布於2018年2月5日。目前最新版本是1.5,開發語言是Dart,也是Google開發的計算機編程語言。它的語法類似於C,是壹種編譯語言:

Hello world示例,打印字符串“Hello World!”:

1,無橋梁層

React Native、Weex等技術都是跨終端的框架,但其性能和原生app差距很大。這是由於它們的工作原理:

React Native,Weex等技術都有壹個橋接層,所以界面渲染會慢壹些。因為UI渲染非常頻繁,基本上很難避免卡頓,性能和用戶體驗都和原生代碼不壹樣。這正是顫振的優勢:

Dart可以編譯成不同平臺的本地代碼,這樣Flutter就可以直接和平臺通信,不需要橋接層,自然性能會更快。

2.編譯並執行

JavaScript是解釋執行,Dart是編譯執行,所以誰的性能好就壹清二楚了。

3.顫振引擎虛擬機

Flutter依靠Flutter引擎虛擬機在iOS和Android上運行。Flutter引擎用C/C++編寫,開發者通過Flutter框架直接與API進行交互,因此具有輸入延遲低、UI渲染幀率高的特點。除了這個特性,Flutter還提供了自己的小部件,這些小部件是使用受React啟發的現代框架構建的。中心思想是使用小部件來構建UI。

小部件根據它們當前的配置和狀態來描述它們的視圖。當小部件的狀態發生變化時,小部件將重新構建其描述,框架將根據之前的描述進行區分,以確定底層渲染樹從壹種狀態過渡到下壹種狀態所需的最小變化。可以直接描繪在OS平臺提供的畫布上,也就是把壹些核心類庫直接放在虛擬機裏,調用起來更快。

從其系統結構可以看出,與Android類似的ART(Android Run Time)虛擬機也采用了AOT(advanced Time)技術,在APP安裝時會編譯成機器語言,不會被解釋和執行,從而優化了APP的性能。

4.自帶渲染引擎。

Flutter使用谷歌自己的Skia渲染引擎,而Android自帶Skia引擎。Flutter還會在iOS平臺上將Skia引擎打包成APP,從而實現高效渲染。React Native通過橋接層訪問原生UI,所以頻繁的操作容易出現性能問題。

綜上所述,Flutter是壹個性能最接近原生代碼的開發框架,未來將是構建Google Fuchsia應用的主要方式。唯壹的問題是,妳需要學習壹門新的語言:Dart,對於有Java或C#語言基礎的程序員來說更容易。