- 原文地址:React Native at Airbnb
- 原文作者:Gabriel Peal
- 譯文出自:掘金翻譯計劃
- 本文永久連結:github.com/xitu/gold-m…
- 譯者:ALVINYEH
- 校對者:ChenDongnan
Airbnb 中的 React Native
在 2016 年,我們在 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,就想把它做好。我們的目標是:
- 作為一個組織,允許我們快速迭代。
- 保持原生的質量標準。
- 為移動端編寫一次產品程式碼,而不是兩次。
- 改善開發人員的體驗。
我們的經驗
在過去的兩年中,在這個實驗上下了不少苦功夫。我們已經在應用中構建了一個令人難以置信的強大整合,實現了複雜的原生功能,如共享元素轉換,視差和地理位置以及與我們現有的本地基礎架構(如網路,實驗和國際化)橋接。
我們使用 React Native 為 Airbnb 推出了一系列關鍵產品。React Native 使我們能夠推出更多體驗活動,這是 Airbnb 的一項全新業務,以及從評論到禮品卡的數十項新功能。這些功能都是在我們沒有足夠的工程師來完成目標的時候構建的。
不同的團隊對 React Native 都有豐富的經驗。React Native 有時被證明是一個極好的工具,但有時也會在技術和組織上提出挑戰。在本系列中,我們詳細介紹了我們的經驗以及接下來要做的事情。
在第二部分,我們列舉了 React Native 作為一項技術的有效性和缺陷。
在第三部分,我們列舉了與構建跨平臺移動團隊相關的一些組織挑戰。
在第四部分,我們重點介紹了我們今天與 React Native 的立場以及它在 Airbnb 中的未來。
在第五部分,我們會談到從 React Native 中學到的最重要的知識,並利用它們使得原生表現地更好。
如果發現譯文存在錯誤或其他需要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可獲得相應獎勵積分。文章開頭的 本文永久連結 即為本文在 GitHub 上的 MarkDown 連結。
掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。