簡單說一下Flutter框架


在Flutter框架出現之前,主要有以下幾個移動App跨平台開發框架:Cordova、Ionic、AppCan、Dcloud、APICloud、React Native。雖然有那么多框架,但是它們的原理都是使用HTML、CSS和JavaScript進行移動App開發,多平台共用一套代碼,提供了豐富的主流UI庫、用來調用原生API的JavaScript API包裝器,同時還提供App打包、發布的工具或服務。由於這些跨平台開發框架是使用標准Web技術開發,所以它們打包出來的App在性能上,多少都會比原生App差上不少,這也是移動App跨平台開發技術一直不溫不火的原因。

在決定學習一門新技術之前,我們總會拿它與同類技術進行對比,確保不會把寶貴的學習時間浪費在無用的技術上。所以,接下來我們將在對比中認識我們將要學習的Flutter框架。首先是Flutter實現跨平台開發的原理,Flutter與現有的移動App跨平台開發框架都不一樣,Flutter不是使用標准Web技術,而是借助可移植的圖形加速渲染引擎、高性能的本地ARM代碼,並以此實現跨設備、跨平台的高質量用戶體驗。

在這里插入圖片描述
由上我們可以得知,使用Flutter開發的跨平台移動App,性能是可以與原生App一模一樣的。你以為這樣就完了嗎?不不不,Flutter框架的能力不止於此!Flutter應用的性能甚至可以比原生App更加優秀,因為Flutter框架針對性能方面進行了優化。

傳統的Web應用中會有成千上萬數量個DOM節點,所以更新的時候會非常瑣碎、頻繁,使頁面加載緩慢,所以現代的Web應用開始使用虛擬DOM技術來提高頁面更新的速度,用一個虛擬DOM,而不是直接調用類似.getElementById的方法,只操作JavaScript對象,然后再把更改的部分更新到真實DOM,這樣是相當方便的。但是添加了虛擬DOM意味着更多的代碼,而且在一個DOM節點相對較少的頁面中用虛擬DOM,實際上有可能會更慢。

在這里插入圖片描述
不僅是現代的Web應用,其實目前主流的Android於iOS應用也是大量使用類似虛擬DOM的技術,即虛擬控件,而且得益於移動設備的性能優勢,使虛擬DOM這種形式的響應式框架的優點發揮到極致,使得開發者忽略了該模式的缺點。


就在平台與開發者滿足於這種以硬件性能優勢來解決軟件框架的性能缺陷時,Flutter橫空出世!在Flutter的響應式框架中,控件樹中的控件直接通過可移植的圖形加速渲染引擎、高性能的本地ARM代碼進行繪制,不再需要通過虛擬DOM或虛擬控件、真實DOM或平台控件這些中間對象來繪制。Flutter響應式框架通過“無中間商賺差價”的方式直接利用硬件的所有性能,所以正如前面所說的,Flutter應用的性能比原生App更加優秀。

在這里插入圖片描述
Flutter的優秀還不止如此,使用Flutter開發的應用能以60 FPS運行,這是現有的移動端游戲都難以實現的一個性能指標,例如王者榮耀也只能以40左右的FPS運行,所以使用Flutter創建的用戶界面,性能遠遠優於其他跨平台框架。現在開始學習Flutter,就是對未來的投資!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM