flutter與RN對比

本週五下午公司組織了三場分享:

一場是關於前端微架構;

一場是關於flutter的介紹;

 一場是關於react native項目實戰

flutter最近熱度很高, 是由 Google 的工程師團隊打造的,用於創建高性能、跨平臺的移動應用的框架, RN 也是使用率較高的跨平臺移動應用開發框架.

flutter的介紹當中並未介紹實際開發案例, 而選擇使用RN技術的項目組則是考慮到由於flutter無法進行動態發佈而選擇了RN, 使用之後也發現, 之前需要兩個人力的工作開發量(1安卓, 1ios)在使用RN 之後人力投入可以優化到1.2人力左右. 聽完分享之後, 立馬去網上了解了一下 二者的區別, 這裏自己簡單做一下總結:

 

flutter與RN的相同點:

1.都是移動開發跨平臺解決方案

2.界面的編寫都採用響應式視圖,維護了一個狀態機,只更新改變的最小區域界面

3.都支持熱重載hot reload,開發調試非常方便

4.調用系統的service仍然需要封裝接口,仍然還是需要懂得native開發

 

flutter與RN 的區別:

1. 性能方面:

Flutter由於是基於Dart語言, 所以避免了RN的那種通過橋接器與Javascript通訊導致效率低下的問題,所以在性能方面比RN更高一籌,會更接近原生的體驗.

2. 學習成本方面:

Flutter是基於Dart語言,相對來說,由於要學習一門新的開發語言所以學習成本比較高, 而RN採用JS語言開發,基於React,對前端工程師更友好.

3. UI 樣式方面:

flutter實現跨平臺採用了更爲徹底的方案, 因爲它基於canvas自己實現了一套UI框架, 所以兼容性更好, 而 RN 在在樣式方面還是會遇到比較多的問題,且解決起來會有點麻煩.

4.成熟度的方面:

React Native 是在 2015 年發佈的,經過 3 年多的發展,已經比較成熟, 雖然也還不完善, 但是Flutter 是在今年 6 月份才推出發佈預覽版,社區也剛剛發展, 在github上還有兩千多個待解決的問題,所以flutter需要更多時間

 

後面的答疑環節, 其實也對flutter與RN未來的前景和發展趨勢做了一些簡單的分析: 技術的選擇還是要基於實際的開發場景, 如果

flutter能夠解決動態發佈的問題,那麼會有更好的一統跨平臺開發的優勢, 但是由於谷歌已經將動態發佈這個性能從開發列表中取消, 未來怎麼樣,還很難說.

 

不錯的參考文章鏈接:

APP跨平臺開發技術分析:https://www.jianshu.com/p/3cd9c3c66b09

Flutter和RN對比: https://www.jianshu.com/p/51c4f7f6e446

flutter框架研究與RN對比: http://szuwest.github.io/flutterkuang-jia-yan-jiu-he-yu-rndui-bi.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章