內含一連五篇勸世文 #語重心長 #極長文慎入 #睇咗我兩日搭車時間
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 嘅方法係
- 兩邊 Native 都用 ReactiveX 用 Share 同一個 Rx Architecture / Pattern
- 用 Protobuf Share Backend API/Analytic Data Models,儘量避免兩邊自己有一套 Data Models
亦都有啲人都鐘意喺 Native 用 gRPC / GraphQL
不過上述做法技術要求比較高,底層絕對唔係新手搞得掂嘅程度!