您好,登錄后才能下訂單哦!
Flutter是Google推出的開源移動應用開發(fā)框架。開發(fā)者可以通過開發(fā)一套代碼同時運行在iOS和Android平臺。
它使用Dart語言進行開發(fā),并且最終編譯成各個平臺的Native代碼,這樣既保證了開發(fā)效率,也保證了各個平臺的運行效率。其相當于從頭到尾重寫了一套UI框架,不依賴具體平臺的組件。其所有的組件都是"Widget"。渲染引擎則依靠高效渲染庫Skia實現(xiàn)。
下面我們對比一下H5、React Native、Flutter這些跨平臺的解決方案。
常被人提起的H5技術,其實就是網(wǎng)頁+JavaScript。比如目前的一些流行的JS框架Vue,React,AngularJS等都是為了構建網(wǎng)頁。針對移動端構建出來的網(wǎng)頁可以實現(xiàn)在跨平臺的功能,但是其缺點也很明顯:
React Native(RN)發(fā)布于2015年,也是使用JavaScript語言進行跨平臺APP的開發(fā)。與H5開發(fā)不同的是,它使用JS橋接技術在運行時編譯成各個平臺的Native代碼,其使用的技術Facebook的Flux技術。
其優(yōu)點是目前的生態(tài)比較成熟,目前也有很多跨平臺應用使用React Native。它也是跟Flutter對比的主要對象。
其特點是:
但是它也并不是完美的:
Flutter也看到了目前的跨平臺解決方案并不完美,所以它借鑒了React Native的一些思想,做出了很大的優(yōu)化。它將代碼編譯成原生代碼,并且直接在各個平臺中使用其高效渲染引擎Skia進行渲染,沒有橋接,不調用平臺相關控件。
這種設計思想完美解決了不同平臺的性能問題。
歸功于其設計思想,我們可以真正實現(xiàn)一套代碼,運行不同的平臺。在其推出之后,關注的開發(fā)者數(shù)量和相關的教程的增長速度遠超當時的React Native。
其特點包括:
目前它存在的一些問題是:
雖然Flutter目前并不是非常流行,但是筆者相信它是跨平臺解決方案的未來。
如果谷歌的新系統(tǒng)Fuchsia OS能像當今的Android這樣如日中天,甚至替代掉Android的話,F(xiàn)lutter的發(fā)展也會迎來它的頂峰。
本系列博客我們就來深入學習和探討使用Flutter。
后面的文章我們會逐步深入學習Flutter的功能與實戰(zhàn)。
我的博客中關于Flutter的所有文章可以點擊這里找到,歡迎關注!
如果有問題可以留言,或者給我發(fā)郵件lloyd@examplecode.cn,期待我們共同學習與成長!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。