加拿大跨國電子商務平臺Shopify,其總工程師Farhan Thawar在部落格寫道,Shopify多年來都以原生的方式,開發行動應用程式,經過實驗後,現在決定擴大採用React Native。Shopify在2019年的時候,以React Native改寫三個應用程式,獲得良好的成果,因此要開始大量投資React Native。

React Native原本由臉書開發,是能以React建置原生行動應用程式的框架,臉書在內部已經大量用於行動應用程式開發上,支援包括Android、iOS、網頁以及UWP平臺,在2015年的時候對外開源。

Farhan Thawar提到,到目前為止,Shopify所有標準的行動應用程式,都是採用原生行動開發,儘管這些應用程式都取得了一定的成果,但是Shopify想要將JavaScript與網頁的元素帶入行動應用程式,也希望所有客戶端應用程式都能採用反應式程式開發模型,另外,他們還希望把iOS和Android開發整合到單一堆疊上。

由於Shopify在2018年併購了一家社交購物網站Tictail,而這間公司對於用React Native開發行動應用非常有經驗,因此Shopify有機會更深入認識React Native,並且在2019年開始對3項產品,進行深度的React Native技術投資,也因為Shopify在網頁上廣泛的使用React,所以也可以將專有技術轉移到行動裝置上,最重要的是,他們看到React Native效能曲線上升,值得進行長期投資。

Shopify有許多行動平臺,可供買賣雙方互動,在2019年,Shopify對Arrive、Point of Sale(POS)和Compass三個應用程式,對React Native進行測試。Shopify可用來追蹤訂單的Arrive應用程式,在iOS上有數百萬次的下載量,但是一直沒有Android版本,Shopify使用React Native來開發行動應用程式,現在便能同時提供iOS和Android上的應用程式,且共享的程式碼達到95%,且比起原生iOS應用,新的應用程式崩潰次數更少,且開發團隊可由行動與非行動開發人員組成。

而Shopify在POS應用程式上,進行為期6星期的實驗以測試React Native,由於用戶對於POS應用程式快速回應的需求較高,因此最後他們仍決定在iOS上原生建構新的POS,而在Android上使用React Native,原因除了Shopify已經擁有專業的iOS開發團隊之外,也希望利用原生iOS作為標準,對React Native工程開發速度和應用程式效能進行基準測試。

另外,Shopify也用React Native開發了Compass,這是一個幫助新創團隊上手的應用程式,該開發團隊深入研究了Native、Flutter和React Native,最終選擇React Native,用戶現在已經可以在iOS和Android應用程式商店中下載測試程式,這是Compass的第一個版本,iOS和Android共用了99%的程式碼。

除了在應用程式開發上開始改用React Native,Shopify也積極與React Native社群工作,包括贊助重要社群人士,並且與臉書的React Native團隊緊密合作,實作自動化、第三方函式庫,並以Lean Core管理部分模組。Shopify也與Discord合作,加快FastList for React Native的開源,並針對Android進行最佳化。


Advertisement

更多 iThome相關內容