耗時三年,向React遷移的利與弊

2017年,可汗學院( https://blog.khanacademy.org)開始在iOS和Android應用中使用React Native。到了今年,這一遷移工程終於來到了終點,可汗學院應用中的所有頁面都轉到了React Native上。

2017年,可汗學院之所以開始這一實驗,主要是基於以下考慮:

  • iOS和Android應用的設計幾乎是一致的,交互設計、功能和內容都沒什麼區別。
  • 維護兩個代碼庫是很困難的事情,尤其是這兩個代碼庫還具有不同的數據設計、錯誤和開發新功能時的考慮要素。
  • 學院的移動開發團隊很小,因此遷移工作不會涉及大批工程師。
  • 學院的網站已經在使用React了,因此學院的開發團隊具備相應的專業知識,以及幫助遷移的概念和工具。

下面具體講一下維護兩個代碼庫所要面臨的挑戰。

  • 不同的平臺上會出現不同的錯誤。當然,React Native也會有這種情況,但是出現概率就小得多了。
  • 開發新功能需要針對兩個平臺分別考慮設計、工程和測試工作。這意味着你至少需要兩名工程師(iOS和Android),並且他們最好共同工作——對於像可汗學院這樣小規模的團隊來說這是很大的負擔。
  • 功能和設計一旦構建好後就很難調整,因爲每次調整都需要在兩個平臺上各來一次。
  • 平臺之間的架構差異很大。可汗學院的iOS代碼庫比Android代碼庫大四歲。iOS有Swift、ReactiveCocoa、Cartography和CoreData。Android則有自己的一組依賴項和數據流設計。這些差異累加起來,讓平臺之間的功能複用變得很複雜,對比兩個平臺的代碼也不容易,於是團隊相當於被平臺分割成了兩部分。

原文鏈接:【https://www.infoq.cn/article/mSRZT6XOgIB8glQfH2lK】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章