成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Airbnb:我們為什么會選擇放棄React Native

新聞 Android
近日,Airbnb 工程師 Gabriel Peal 在接受外媒采訪時,聊到了 Airbnb 的移動開發歷史、React Native 的優缺點,以及 Airbnb 最終為什么決定從 React Native 遷移。

 今年6月,Airbnb 技術團隊宣布,Airbnb 將放棄使用 React Native,回歸到使用基于原生技術的自有框架開發 App。作為一家世界級頂尖公司,在對 React Native 投入大量精力后,突然決定棄它而去,這讓不少想要使用和正在使用 React Native 的人都感到震驚和疑惑。

近日,Airbnb 工程師 Gabriel Peal 在接受外媒采訪時,聊到了 Airbnb 的移動開發歷史、React Native 的優缺點,以及 Airbnb 最終為什么決定從 React Native 遷移。

React Native 對 Airbnb 來說最大優勢是快速開發和平臺不可知論(platform agnosticism)。通過 React Native ,Airbnb 可以利用整個開發團隊來幫助構建和支持他們的移動應用。這意味著無論后來的員工在移動和 Web 開發方面的背景如何,都可以快速培訓上手。它還意味著更精簡的代碼庫,因為能夠跨三個平臺部署一個存儲庫。但同時,也帶來了挑戰:

從 0 至 1 ,需要一大筆投入

許多人認為在 Airbnb 決定使用 React Native 時有做完整的遷移,其實到目前為止,React Native 代碼僅占 Airbnb 代碼庫和開發資源的 15-20%,它一直就不是 Airbnb 公司的主要平臺。盡管 React Native 是一個框架并且極大地簡化了移動開發流程,但啟動和運行起來并非易事,尤其是在已有現成代碼庫的情況下。將 React Native 集成到現有的移動代碼庫中預期會耗費大量時間和精力。

開發者仍需編寫原生代碼

對于 API 在兩個平臺之間具有明確橋梁的簡單應用,React Native 是一個很好的選擇。在 Airbnb 移動應用的早期階段,React Native 是移動應用中的強大加速器。但最終,API 將無法以你想要的方式運行,你還是不得不深入到原生庫中進行必要的調整。

如果聘請一位 JavaScript 開發者來維護你的 React Native 項目,那么他們必須編寫原生代碼來彌補功能上的縫隙。

小心“地雷”

React Native 代碼中的地雷和互作用極難追蹤和重現。舉個實際例子,Airbnb 團隊有遇到 React Native 組件在某些手機上顯示一片空白的問題,該 bug 不僅不可靠,而且難以追蹤。

解決方案是關閉初始化 Fresco ,這是一個適用于 Android 的 React Native 標準圖像渲染庫。直到今天,工程師仍然不明白為什么這個步驟修復了這個 bug 。

投入永無止境/迭代緩慢

許多團隊使用 React Native 進行小型移動應用的原型設計,并相信它能解決他們的所有問題。但與所有開源軟件一樣,該平臺在不斷變化,每天都會發現新的 bug 和問題。支持 React Native 還處于動蕩的生態需要持續的投資。

比如 Airbnb 工程師希望一個符合其產品目標的補丁能夠盡快合并進入 React Native 框架,不幸的是,React Native 的開發生命周期為每四周發布一次。如果這次沒通過,他們將不得不等待差不多一個月,來重新審查或采用他們的修改。

隨著 Airbnb 的發展加速,他們無法承擔其中的風險。由于劣勢高于優勢,促使 Airbnb 重新考量,并最終放棄 React Native 開發。

此外,雖然除了 React Native 之外還有其他的跨平臺替代方案,比如 Google 的 Flutter 和微軟的 Xamarin ,但和上面提到的類似的問題也都可以在這些框架上面找到,而且這兩個框架在 Google 和 Microsoft 中的使用率都相對較低。雖然跨平臺框架能解決大多數簡單問題,但一些更復雜的問題最終還是需要回到相應移動設備的原生平臺來處理。

[[244947]]

責任編輯:張燕妮 來源: softwareengineeringdaily.com
相關推薦

2011-06-08 10:30:08

MongoDB

2019-12-30 08:34:40

ZabbixPrometheus監控

2021-02-01 07:20:51

KafkaPulsar搜索

2020-06-10 09:06:48

MongoDB架構高可用

2020-01-18 09:35:03

微服務團隊架構

2018-12-21 11:26:49

MySQLMongoDB數據庫

2016-09-27 21:25:08

Go語言Ken Thompso

2020-09-16 14:56:11

MYSQL知識數據庫

2020-03-03 15:31:47

ReactVue前端

2024-02-20 01:53:01

ReactFlutter開發

2019-04-19 11:56:48

框架AI開發

2020-02-24 09:38:05

PythonGo語言Linux

2024-02-05 21:48:25

VueReactHooks

2020-08-14 10:40:35

RestTemplatRetrofitJava

2020-11-16 12:03:08

Java開發代碼

2009-04-23 10:41:59

微軟IE瀏覽器

2024-06-24 07:58:00

2023-07-23 17:19:34

人工智能系統

2019-08-20 09:24:54

Python編程語言Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久一区二区 | 99精品久久久久久久 | 亚洲在线免费 | 久久伊人一区二区 | 日本一二区视频 | av片免费| 色黄视频在线 | 一区在线免费视频 | 欧美综合在线视频 | 99久久精品免费看国产四区 | 成人国产a| 亚洲网在线 | 欧美在线视频网 | www.中文字幕.com | 午夜精品久久久久久久久久久久 | 亚洲精品一 | 久久国产精品视频 | 国产精品无码久久久久 | 久久99精品久久久久 | 中文精品视频 | 一区二区日韩精品 | 久久精品 | www九色| 中文字幕亚洲区一区二 | 久久久精品久久久 | 成人免费一级 | 欧美一区2区三区4区公司 | 先锋资源网站 | 婷婷色国产偷v国产偷v小说 | 农夫在线精品视频免费观看 | 91精品国产91久久综合桃花 | 亚洲91精品 | 久久久久免费精品国产 | 国产一区亚洲 | 欧美精品一区二区在线观看 | 激情毛片 | 亚洲啊v在线 | www.欧美 | www.日本三级| 亚洲另类春色偷拍在线观看 | 亚洲国产日本 |