Shopify将大量采用React Native开发移动应用程序

加拿大跨国电子商务平台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进行优化。