2020年Flutter和 React Native如何選擇

2020-08-28 夢回故裡歸來

如果你想要開發一款App,那麼選用什麼技術一定是你首要考慮的問題。其次採用什麼語言也是需要考慮的。是使用Java,還是Kotlin。是使用object-c,還是採用Swift。是原生開發還是混生開發,這些問題都是我們在開發App之前需要深思熟慮的。


flutter vs react native

如果我們想要進行跨平臺開發,那麼Flutter和React Native一定是我們最優先考慮的。因為目前看來,Flutter和React Native的運行效率是那些混生開發無法比擬的,因此它們就是當下最適合跨平臺開發的技術。

流行度

react是2015年發布的,flutter是2018年發布的,因此,目前react的社區是比flutter的社區更強大些。不過在亞洲地區,flutter還是有著很大的用戶社區的,似乎谷歌的產品在亞洲都有著不錯的口碑。

開發語言

React Native的開發語言是JavaScript,因此如果你是前端開發人員,並且有接觸過react框架的話,那麼react native的開發對你來說會變得非常容易上手。

Flutter採用的是Dart語言,Dart是面向對象的、類定義的、單繼承的語言,Dart2是強類型的語言,對於物聯網,移動端開發非常適合,而且Dart語言上手也相對比較容易。

開發易用性

前面我們提到React Native是使用JavaScript開發的,因此上手起來會比較容易。Flutter是採用dart語言開發,因此開發之前,我們需要先學習下這個語言,相比較而言,React 比Flutter入手更快一些。

無論是React Native和Flutter都是支持熱加載的,這對於我們平時的開發調試是非常友好的,我們可以所改即所得。

flutter

React Native編寫之後會打包成bundle文件,Flutter會直接生成二進位文件,不過兩者的開發都需要android和ios jdk的支持才行。

性能對比

在理論上 Flutter 的設計性能是強於 React Native 的,這是框架設計的理念導致的,Flutter 在少了 OEM Widget 之後,直接與 CPU / GPU 交互的特性,決定了它先天性能的優勢。

react native

不過React Native相比較ionic等混生應用,還是有著出色的性能體驗的。

UI對比

Flutter採用一切皆widget思想,所有的一切都是可以組件化的,非常適合定製跨平臺組件。也就是說使用Flutter可以一份代碼可以讓android,和ios有著一樣的用戶UI。

Recat Native採用的是使用原生UI繪製,有些時候如果我們想要擁有一樣的用戶UX,我們可能需要使用第三方插件才能實現。

總結

目前來看,React Native仍然佔據著大部分市場,而且和Flutter相比,它的坑可能更少些,不過從未來來看,作為依靠android爸爸的Flutter會更有發展前途。

相關焦點

  • 2020年Flutter和 React Native如何選擇
    flutter vs react native如果我們想要進行跨平臺開發,那麼Flutter和React Native一定是我們最優先考慮的。因為目前看來,Flutter和React Native的運行效率是那些混生開發無法比擬的,因此它們就是當下最適合跨平臺開發的技術。流行度react是2015年發布的,flutter是2018年發布的,因此,目前react的社區是比flutter的社區更強大些。不過在亞洲地區,flutter還是有著很大的用戶社區的,似乎谷歌的產品在亞洲都有著不錯的口碑。
  • 記一次從 react-native到flutter的換血
    [精釀筆記]是我在2016年開發的產品,客戶端採用的是react-native,之後再一次時隔比較長的版本升級中,我發現升級過程中,出現好多問題,無奈只能重新創建,這導致我又花了很多時間處理引入庫的問題,而且對於realm資料庫在國內升級緩慢的問題,長列表刷新滾動問題,我也一直很討厭,但當時沒有找到更好的解決方案。
  • 最火移動端跨平臺方案盤點:React Native、weex、Flutter
    Flutter 是谷歌2018年發布的跨平臺移動UI框架。相較於本人已經在項目中使用過 react native 和 Weex,Flutter目前僅僅是簡單運行過Demo,畢竟還是beta 階段,這裡更多的聊一下它的實現機制和效果。
  • Flutter VS React Native,應該選哪個?
    Facebook 在 2015 年重新上市後,推出了 React Native。並認為它肯定會得到很好的回應。但是如今,React Native 已經落後於 Facebook、沃爾瑪、Ubereats、Instagram 和 Tesla 等應用程式。谷歌也加入了這個 party,並推出了備受好評的跨平臺框架:Flutter。其中承諾所有應用程式都具有原生性能。
  • 【譯】Flutter vs React Native vs Native:深度性能比較
    本文翻譯自 inVerita 的《Flutter vs React Native vs Native: Deep Performance Comparison》原文連結:https://medium.com/swlh/flutter-vs-react-native-vs-native-deep-performance-comparison-990b90c11433)
  • 移動開發者如何更好地學習 React Native?| 技術頭條
    作者 | 魔笛責編 | 郭芮2015年3月,Facebook正式發布react-native,只支持iOS平臺;2015年9月,Facebook發布了React Native for Android,讓這一技術正式成為跨平臺開發框架。
  • Flutter會比React Native受歡迎嗎?
    從技術和業務角度來看。在過去的4年中,我們已經以不同的技術堆棧(包括react-native,Ionic,Xamarin和Flutter)交付了30多種移動產品,就交付速度和應用性能而言,我從來都不是跨移動開發工具的擁護者,但是我們一直試圖保持技術領先地位,因此Google宣布採用Flutter,自那以後Flutter擁有了額外的粉絲團隊。
  • react-native-navigation 簡單分析和跨頁跳轉
    雖然 react-native-navigation 是 Facebook React Native 官方文檔推薦的導航庫之一 ,但我也不得不說使用它做 APP 導航主框架的體驗簡直糟糕透了。當然,這本身可能就是 React Native 自身的問題。
  • 十大最受歡迎的 React Native 應用開發編輯器
    點擊上方「 CSDN 」,選擇「置頂公眾號」關鍵時刻,第一時間送達!作者丨 Murtaza Basrai譯者 丨 安翔市面上用於開發工作的編輯器非常多,筆者會經常因為不同的程式語言該如何選擇好用的編輯器而感到糾結。
  • 如何用 React Native 開發一款電商 App?
    本文編譯自Hackernoon,原文標題為:Building an e-commerce search app with react native,推薦有一定編程基礎的讀者閱讀。今天我們來聊一聊是如何在RN平臺開發一款用於查找圖書資料庫的電子商務移動app。如果你之前沒有使用過RN,那麼現在就跟我一起開啟你的移動端Javascript開發之旅吧。
  • React Native 學習-環境搭建
    最後點擊&34;來下載和安裝這些組件。創建新項目安裝react-native-cli工具npm i react-native-cli -g //全局安裝 第一次這樣做哈!這個命令行工具不需要安裝,可以直接用 node 自帶的npx命令來使用(注意 init 命令默認會創建最新的版本):npx react-native init MyApp編譯並運行 React Native 應用確保你先運行了模擬器或者連接了真機,然後在你的項目目錄中運行
  • 推薦11 款 React Native 開源移動 UI 組件
    React Native 可以使用最近非常流行的 React.js 庫來開發 iOS 和 Android 原生 APP。1. iOS 表單處理控制項 tcomb-form-nativetcomb-form-native 是 React Native 強大的表單處理控制項,支持 JSON 模式,可插拔的外觀和感覺。
  • Facebook 發布 React Native for Android
    React Native 讓開發者使用 JavaScript 和 React 編寫應用,利用相同的核心代碼就可以創建 Web,iOS 和 Android 平臺的原生應用。React Native 的宗旨是,學習一次,高效編寫跨平臺原生應用。
  • React-Native 熱更新 CodePush
    0.網上資料和官網最新的不一樣1.安裝CodePush: npm install -g code-push-cli2.創建CodePush帳號: code-push register (會打開網頁進行註冊,有點卡)3.複製 token到控制臺4.在CodePush伺服器上註冊app:code-push app
  • 開源意見徵集 |Taro React Native 提案
    run-ios 或 react-native run-android 加載 index.bundle。參考 babel-plugin-react-native-platform-specific-extensions 實現。
  • Flutter到底香不香?
    今晚停電,導致沒法寫代碼,聊一聊flutter,早就想聊了,一直沒時間。每個新的框架的出現都會引來大家的討論,flutter也不例外。大公司對於新技術會比較慎重的,穩定才是王道。而對於我這種個人開發者來說,嘗試新框架機會就多些。我近3年除了工作需要以為,基本沒有用原生來寫產品。
  • 官宣:ReactNative導航庫重大更新
    2020年2月6日React Navigation通過其博客正式宣布了React Navigation第5個版本,即React Navigation 5.0,其稱之為一種新的導航方式。但是在React Navigation 5.0中是做了基於組件的動態配置的鑫的方式,和以前的版本完全不一樣。
  • Facebook 正式公開 React Native 重構細節!
    【CSDN編者按】Facebook 2013 年開發的 React Native 是著名的跨平臺移動應用開發工具之一。目前,它不僅是最為活躍的開發者社區之一,還是 GitHub 上貢獻者數量最多的開源項目之一。
  • 為什麼商城開發需要使用react native
    移動端流量入口成了商家的必爭之地,app商城成了商家最受歡迎的電商應用,那麼商家要如何進行電商app開發、應選用什麼框架進行開發呢?目前比較流行的是react native技術開發,RN有節省開發成本又不失客戶體驗的優勢,比如京東金融是使用這套框架進行開發的,商淘軟體的APP也是使用RN開發的。
  • React Native 0.62 發布,默認支持 Flipper,新的暗黑模式
    Crash Reporter:查看來自 Android 和 iOS 設備的崩潰報告。 React DevTools:與所有其它工具一起使用最新版本的 React DevTools。 Network Inspector:查看設備應用程式發出的所有網絡請求。