Flutter與React Native針對移動開發的比較
就在幾年之前,我們還會看到各種移動應用程序需要在Android Studio里使用Java來進行開發。然而,在Google推出了Kotlin之后,人們不再過于關注針對框架的開發了。本文將從多個方面綜合比較Flutter和React Native兩種移動應用開發框架的優劣勢。
- 作者:陳峻編譯來源:51CTO.com|2019-08-29 09:00
【51CTO.com快譯】就在幾年之前,我們還會看到各種移動應用程序需要在Android Studio里使用Java來進行開發。然而,在Google推出了Kotlin之后,人們不再過于關注針對框架的開發了。
現如今,業界的開發人員普遍開始使用Flutter和React Native之類新的框架,來開發各種移動應用程序了。這些新生的框架不但能夠使得應用程序的編寫過程更為容易,而且能夠給用戶帶來更多的跨平臺功能,并且能夠支持橫跨不同域的開發。
基本比較
簡單而言,如果您需要在應用程序中包含某些動態功能的話,那么請使用React Native框架。它能夠支持比Flutter更多的第三方庫。鑒于Flutter是一個相對較新的框架,其社區仍然在不斷地發展和完善之中,因此您可能很難找到高質量的在線使用教程。
而作為對比,React Native如今已經穩固了其市場占比,因此它擁有著比Flutter更為龐大的社區,您可以從中獲得基于不同行業的各種在線幫助。此外,隨著那些經驗豐富的JavaScript開發人員在React Native社區中越來越活躍,他們更愿意、也更頻繁地將自己所掌握的先進知識和技能分享出來。
就程序代碼的可重用性而言,Flutter允許用戶針對新的開發任務,直接修改現有的代碼。然而,React Native的代碼可重用性則相對較為復雜。鑒于其現有的平臺樣式,該框架需要用戶付出更多的工作量。
框架開發人員
由Google推出的Flutter,自2017年面世以來,其實用的功能、以及易于開發移動應用的特性,備受業界的歡迎。而React Native則是由Facebook于2015年開始研發,2017年推出的產品。因此,如果您想通過諸如HTML、JavaScript和CSS等Web技術,創建運行在某個容器中的混合應用程序,以供用戶手機上的兼容性網頁來訪問的話,那么這兩個平臺都是您的好選擇。下面,我們將針對混合應用程序的開發,進行兩種框架的優勢比較。
哪個更穩定?
眾所周知,我們在為大型項目研發應用程序時,應用本身的穩定性是尤為重要的。與此同時,應用程序應該能夠隨著用戶數的增加,持續保持其穩定性。那么,就項目規模而言,大多數開發人員會針對大型項目推薦使用React Native來開發應用,他們普遍認為由Flutter開發的應用程序不太適合于大型項目。
在我看來,雖然React Native與Flutter在所支持的用戶數量方面不相上下,但是React Native的穩定性的確見長。這主要是因為,其龐大的社區能夠保障該框架的可持續改進,即使它的某些功能特性在某個特點應用上碰到問題時,該社區也能很快找到彌補、甚至是替換方案。
語言
如前所述,這兩個框架都能夠支持混合式的應用程序開發。因此,您完全可以使用相同的編程語言,來創建Android和iOS版本的應用程序。具體說來,在跨平臺開發方面,React Native使用的是JavaScript,而Flutter則用到了Dart。由于支持JavaScript,而恰好業內許多開發人員都具有此類經驗,因此大家普遍認為使用React Native框架開發起來,會更加得心應手。相比之下,Dart較為新穎,許多開發人員對它不甚了了。
界面上的比較
許多熟悉這兩個框架的人都一直認為:由于用到了各種原生的組件,因此React Native提供了一個更新穎、更優秀的用戶界面。而Flutter則需要依賴各種不同的部件集合(widget sets)。盡管Flutter的部件集合為用戶提供了自定義用戶界面的多重選擇,但是有時候這種自定義方式反而會影響用戶在使用中的直觀體驗。
測試
在測試方面,由于Flutter為用戶界面提供了不同的內置測試單元,因此它的優勢較為明顯。相反,由于React使用的是JavaScript,因此它并沒有許多可用的官方測試工具。雖然您可以使用Jest測試工具,來進行快照式的測試,但是如果您想通過測試用戶界面,來發現具體問題的話,React并沒有提供合適的官方測試工具。當然,您可以從Detox等非官方測試工具處獲得幫助,以測試那些由React Native構建的應用程序,不過此類測試的成功性并無保證。
相關的指南支持
下面,我們來比較一下兩者的在線文檔與指南。由于Flutter提供了完備的在線和離線式文檔,開發人員可以輕松地使用相關文檔來開發應用程序,因此Flutter略勝一籌。而且,由于Flutter文檔提供了簡化復雜任務的快捷方式,因此Flutter開發人員更容易在較短時間內,創建出自己的移動應用。
不可否認,React Native也提供了相應的文檔,但其文檔的條理結構程度遠不及Flutter。
結論
綜上所述,我們得出了這樣的結論:如今,由于得到了來自世界各地開發人員、以及相關行業的支持,React Native無疑在移動應用開發領域得到了、而且還將被繼續廣泛地被運用在不同的移動開發項目中。不過正所謂:“江山代有人才出”,Flutter的社區規模也在持續增長,業界不少開發人員滿懷信心地認為,Flutter必將成為移動應用開發的未來。
原文標題:Comparison Between Flutter vs. React Native for Mobile App Development,作者:vibha Pareek
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
【編輯推薦】
點贊 0
- 大家都在看
- 猜你喜歡
編輯推薦
- 24H熱文
- 一周話題
- 本月獲贊
- “朋友”發微信借錢 語音確認后仍被騙了微信外鏈規范升級:這些行為都不可以Android 中的“后臺無效動畫“行為分析將HTML5封裝成android應用APK文件的幾種方法微信支持手機號轉賬 無需加好友21個免費的UI界面設計工具、資源及網站全面了解B端產品設計:基礎掃盲篇Android開發中Handler的經典總結
- 網易云音樂、手機QQ的換膚是怎么做到的買一部iPhone11 Pro要多久?瑞士只需5天工資,美國6天,中國呢?iPhone 11官方維修費正式出爐,你那顫抖的小手還好吧?“朋友”發微信借錢 語音確認后仍被騙了安卓10終于來了,能吃上的果然只有這些手機!21個免費的UI界面設計工具、資源及網站蘋果如何悄悄改變了iOS 13.1個人熱點功能HTML6你就這樣拋棄JavaScript?
- 網易云音樂、手機QQ的換膚是怎么做到的安卓10終于來了,能吃上的果然只有這些手機!收好這幾款iOS「快捷指令」,幫你少下10款App將HTML5封裝成android應用APK文件的幾種方法Safari不是唯一選擇:8款優秀iPhone Web瀏覽器應用!21個免費的UI界面設計工具、資源及網站Android替代品:2019年排名前8的移動操作系統,你看好哪個?真相了!iOS和Android差距到底有多大?
訂閱專欄+更多
-
這就是5G
5G那些事兒共15章 | armmay111人訂閱學習
-
16招輕松掌握PPT技巧
GET職場加薪技能共16章 | 曬書包371人訂閱學習
-
20個局域網建設改造案例
網絡搭建技巧共20章 | 捷哥CCIE755人訂閱學習
視頻課程+更多
-
韓立剛Windows Server 2008系統管理視頻教程
講師:韓立剛407769人學習過
-
Java項目實戰上卷[SpringBoot/SpringCloud/Ra
講師:鳥哥教育34987人學習過
-
Apache服務配置與管理(CentOS7)-Linux服務
講師:曲廣平354人學習過
專題推薦+更多
- 精選博文
- 論壇熱帖
- 下載排行
讀 書 +更多
.NET for Flash動態網站開發手札
本書深入淺出地說明了如何利用.NET、Flash及XML來輔助Flash富媒體應用程序的開發。 本書首先介紹了Flash影片應用程序與.NET應用程序結合的...
-
訂閱51CTO郵刊
點擊這里查看樣刊

51CTO服務號

51CTO官微