Shopify将移动开发转向React Native,性能提升翻倍、超95%跨平台代码共享

对React Native进行了一年的实验后,Shopify表示将会使用它来进行未来移动应用的开发。根据报道,React Native所带来的收益是成倍的性能提升和超过95%的跨平台代码共享。

Shopify是在收购Tictail之后开始其React Native之旅的,Tictail是一家专注React Native的公司。Shopify背后的另外一个驱动因素是他们已经在其Web产品中广泛使用React了。因此,探索将React模型进一步扩展至移动应用的可能性也就是很自然的事情了。在2019年,有三个团队分别开发了三个不同的应用程序,即ArrivePoint of SaleCompass。Arrive是一个针对消费者的订单跟踪工具,有数百万的下载,而Point of Sale和Compass的目标则是卖家。

Arrive之前只能用于iOS,在使用React Native重写之后,就使提供Android版本也成为可能,而且这个过程几乎不消耗任何成本。据Shopify所述,这两个Arrive版本共享了95%的代码库。更让人惊讶的是,Shopify声称与原生的、只支持iOS的版本相比,使用React Native之后降低了应用崩溃的频率。为了阐述基于JavaScript的应用的灵活性,Arrive包含一种特殊的机制,我们可以扫描与GitHub pullrequest相关联的一个二维码,这样的话应用的bundle会自动更新至该PR相关的代码

在Point of Sale中,Shopify只使用React Native来创建应用的Android版本,而将iOS版本的应用继续留给了原来的团队。通过让这两个版本相互独立,Shopify希望能够对比原生iOS技术与Android上React Native之间的开发速度,同时还能比较React Native版本与原生iOS应用之间的性能。Point of Sale的开发依然还在进行之中,因此目前还没有详尽的对比结果。但是,即使在CPU频率为1.5GHz的设备上,Android版本也表现出了良好的性能。

最后,就是关于Compass,Shopify对比了三个可选方案,分别是原生、Flutter和React Native。他们最终决定使用React Native,在三个月的时间内,他们就发布了该应用的iOS和Android版本,并实现了大约99%的跨平台代码共享。

Shopify表示,他们会继续投资React Native,当然这并不意味着他们会用这项新技术重写所有的应用。还应注意的是,Shopify将继续使用低层级的原生库和框架来开发他们的应用程序。当性能需要的时候,他们会考虑使用原生技术编写低层级组件的可能性。尤其是,必须要在较旧的硬件上运行的组件(CPU频率低于1.5GHz),或者执行CPU密集型处理的组件,它们需要最高的性能,或者会使用大量的后台线程。

原文链接:

React Native is the Way To Go for Mobile App Development at Shopify

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/tPbodAX0rtFRPZWX4lDU
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券