內含一連五篇勸世文 #語重心長 #極長文慎入 #睇咗我兩日搭車時間

React Native at Airbnb
This is the first in a series of blog posts in which we outline our experience with React Native and what is next for mobile at Airbnb. When Airbnb launched 10 years ago, smartphones were in their…

TLDR;

  • Airbnb 2016 年開始重度投資落 React Native
  • 敍述 React Native 於 Airbnb 遇到的技術問題
  • 敍述由 React Native 引伸的 Product Iteration 及人事問題
  • 敍述 Airbnb 因非 100% React Native 亦非 100% Native 遇到的痛位
  • Airbnb 認為 React Native 不適合他們
  • Airbnb 停止所有新 React Native 開發,計劃 2018 年底內將最多人用嘅 Screen 用 Native 重寫

阿 Gap 一直認為,如果預視到一隻 App 將會做得足夠複雜嘅時候,有人問點解你唔揀 React Native 仲分開 Native 花兩倍 時間寫兩次?

有兩個反駁唔到嘅事實:

寫 Native,無論個 Developer 隻手有幾新,只要跟足 Standard 套路去做,基本上唔會卡 Performance!
新手寫 React Native 想做到 Native 咁順,要有覺悟預留 50% - 200% 額外開發時間做 Performance Tuning 甚至剷幾次底重新設計及學寫 Native 自製 Native Component!

寫 Native,話就話要寫哂兩邊,但實際上有一啲開心方法令 Developer 生活過得快樂啲。

而阿 Gap 用過又覺得 Work 嘅方法係

  1. 兩邊 Native 都用 ReactiveX 用 Share 同一個 Rx Architecture / Pattern
  2. 用 Protobuf Share Backend API/Analytic Data Models,儘量避免兩邊自己有一套 Data Models

亦都有啲人都鐘意喺 Native 用 gRPC / GraphQL

不過上述做法技術要求比較高,底層絕對唔係新手搞得掂嘅程度!