成人免费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-03-03 15:31:47

ReactVue前端

2020-09-16 14:56:11

MYSQL知識數據庫

2024-02-20 01:53:01

ReactFlutter開發

2019-04-19 11:56:48

框架AI開發

2020-02-24 09:38:05

PythonGo語言Linux

2020-08-14 10:40:35

RestTemplatRetrofitJava

2024-02-05 21:48:25

VueReactHooks

2020-11-16 12:03:08

Java開發代碼

2019-08-20 09:24:54

Python編程語言Java

2009-04-23 10:41:59

微軟IE瀏覽器

2024-06-24 07:58:00

2023-07-23 17:19:34

人工智能系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 另类视频区 | 日韩欧美亚洲综合 | 91欧美激情一区二区三区成人 | 在线看片国产精品 | 国产第二页 | 久久久久1 | av在线免费观看网站 | 综合二区| 羞羞视频网站免费观看 | 91精品国产色综合久久不卡98口 | 午夜精品视频在线观看 | 成人免费大片黄在线播放 | 99资源站 | 中文字幕av高清 | 国产综合视频 | 91超碰在线观看 | 亚洲精品在线观看视频 | 欧美精品区| 成人在线电影网站 | 九九热在线视频观看这里只有精品 | 日韩综合在线 | 国产精品亚洲欧美日韩一区在线 | 国产一区二区三区在线看 | 嫩草伊人| 日本成人综合 | 国产91丝袜在线熟 | 午夜精品久久久久久久久久久久久 | 中文字幕99 | 国产精品日本一区二区在线播放 | 伊人久久大香线 | 日本一区二区高清视频 | 美女爽到呻吟久久久久 | 国产高清免费视频 | 国内自拍视频在线观看 | 亚洲成人一区 | 国产1区 | 亚洲综合视频 | 久久爱黑人激情av摘花 | 桃色五月 | 99视频在线播放 | 最新中文字幕在线 |