[譯] Airbnb 在 React Native 上下的賭注(一):概述

ALVIN君發表於2019-03-01

Airbnb 中的 React Native

在 2016 年,我們在 React Native 下了一個大賭注。兩年後,我們準備與大家分享我們的經驗並說明接下來的計劃。

[譯] Airbnb 在 React Native 上下的賭注(一):概述

多年以後,我們仍然可以在 Airstream 預訂一次會議

這是我們系列部落格文章中的第一篇,其中概述了我們在 React Native 這方面的經驗以及 Airbnb 移動端以後會發展成什麼樣子。

當 Airbnb 在 10 年前推出時,智慧手機還處於萌芽階段。自那以來,智慧手機已成為駕馭日常生活的一個重要工具,尤其是現在隨著越來越多的人開始周遊世界。作為一個能夠為數百萬人提供新形式旅行的社群,擁有一個世界級的應用顯得至關重要。因為移動裝置通常是旅行者們遠離家時的主要或唯一的通訊形式。

自 2008 年我們的前三名客人入住 Rausch 街以來,移動端使用者的預定量每年增加數百萬。我們的應用讓房東能夠在行程中管理他們的房源,同時也為旅客提供靈感,用手指輕輕一點就能發現新的地方和體驗。

為了跟上移動應用的加速步伐,我們已經將團隊擴充套件到 100 多名移動工程師,以實現新的體驗並改進現有的工作。

在 React Native 上下賭注

我們不斷評估新技術,使我們能夠改善客人和房東在使用 Airbnb 時的體驗,能夠響應迅速的同時,保持良好的開發者體驗。在 2016 年,其中一項技術就是 React Native。那時候,我們意識到移動端對我們業務的重要性,但是卻沒有足夠的移動端工程師來完成我們的目標。因此,我們開始探索替代方案。我們的網站主要是由 React 構建的。在 Airbnb,它一直個是非常有效和普遍受歡迎的 Web 框架。因此,我們將 React Native 視為一個讓更多工程師接觸移動端開發的機會,並且也可以利用它的跨平臺特性來更快地釋出程式碼。

當我們最初決定開始投入 React Native 時,也知道存在一些風險。我們需要為程式碼庫新增一個新的、快速迭代且未經驗證的平臺。該平臺有可能對程式碼庫進行分割,而不是統一。我們也知道,如果要使用 React Native,就想把它做好。我們的目標是:

  1. 作為一個組織,允許我們快速迭代
  2. 保持原生的質量標準
  3. 為移動端編寫一次產品程式碼,而不是兩次
  4. 改善開發人員的體驗

我們的經驗

在過去的兩年中,在這個實驗上下了不少苦功夫。我們已經在應用中構建了一個令人難以置信的強大整合,實現了複雜的原生功能,如共享元素轉換,視差和地理位置以及與我們現有的本地基礎架構(如網路,實驗和國際化)橋接。

我們使用 React Native 為 Airbnb 推出了一系列關鍵產品。React Native 使我們能夠推出更多體驗活動,這是 Airbnb 的一項全新業務,以及從評論到禮品卡的數十項新功能。這些功能都是在我們沒有足夠的工程師來完成目標的時候構建的。

不同的團隊對 React Native 都有豐富的經驗。React Native 有時被證明是一個極好的工具,但有時也會在技術和組織上提出挑戰。在本系列中,我們詳細介紹了我們的經驗以及接下來要做的事情。

在第二部分,我們列舉了 React Native 作為一項技術的有效性和缺陷。

在第三部分,我們列舉了與構建跨平臺移動團隊相關的一些組織挑戰。

在第四部分,我們重點介紹了我們今天與 React Native 的立場以及它在 Airbnb 中的未來。

在第五部分,我們會談到從 React Native 中學到的最重要的知識,並利用它們使得原生表現地更好。

如果發現譯文存在錯誤或其他需要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可獲得相應獎勵積分。文章開頭的 本文永久連結 即為本文在 GitHub 上的 MarkDown 連結。


掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章