Flutter vs React Native 到底哪個好
文章目錄
1、前言
個人認為跨平臺的開發技術是大勢所趨,因為這可以節省人力、物力。說白了就是“省錢”。跨平臺一直都在探索中,最早的webview,到後來的react native、weex,在到現在的flutter、kotlin native。我使用react native並在實際專案中使用大概有1年的時間,但後來放棄了,原因有很多,不僅僅是react native 存在諸多問題,還有一個很大的問題的團隊會的不多。我們既然選擇的coding,我們就應該知道這是一個活到老學到老的,新技術的誕生我們不一定要用到實際專案中,但我們可以畫一些時間研究研究,看看它能解決什麼問題,是否能提高我們的開發效率,就像android studio 僅僅1年就乾死了eclipse,多學一些東西總是沒有壞處的,回到主題,Flutter vs React Native 到底哪個好?我們從下面幾個方法對比下:
2、對比
1、環境搭建
React Native:環境搭建比較複雜,我印象中當時至少搞了1天。
flutter:很容易,下載sdk,然後在android studio中安裝flutter和Dart 2個外掛即可,IOS環境未測試,但應該也一樣。
2、開發ide
React Native:我當時使用的是android studio開發,沒有程式碼提示(據說現在有了),開發效率不高。
flutter:開發環境比較完善。
3、混合開發
React Native:可以混合開發,而且可以1個activity對應一個React Native檔案。
flutter:可以混合開發,但android中只能存在一個activity繼承FlutterActivity。
4、效能
React Native:通過js橋接原生控制元件
flutter:有一套自己的渲染機制,理論上效能要比React Native,但肉眼所看的效能體驗基本沒區別,但React Native list 效能比較差。
5、第三方庫
React Native:目前看社群還是比較活躍的,而且facebook很重視。
flutter:google親兒子,剛剛起步,但發展應該不錯。
所有的跨平臺都有一個問題就是第三方庫的支援,比如登入、分享、推送等都需要第三方去適配,但第三方很少去適配,所以混合開發會是主流
6、熱過載
React Native 和flutter都有熱過載技術,這比原生節省了很多開發時間,尤其是專案比較大的時候你會發現修改一個小地方然後編譯執行,然後可以去休息了。。。
7、維護、升級
React Native:升級是一個很危險的事情。
flutter:還沒具體升級。
8、學習成本
包括Kotlin在內我都覺得學習成本不是很高,一週基本都可以入門,高階api隨用隨查就好。
9、發展前景
個人感覺Flutter會好一些,主要是因為親兒子。
10、跨平臺
React Native:雖然打著跨平臺,但很難做到一套程式碼全部適用。
Flutter:僅僅是demo階段,不好說。。。
最後說說這些跨平臺的使用,個人覺得目前這些技術都還不成熟,這些技術可以作為一個輔助,比如一些設定、關於等頁面完全可以使用,最後強烈推薦 Kotlin,絕對可以提升30%以上的開發效率。