在对React Native进行了一年的实验后,Shopify 表示将会使用它来进行未来移动应用的开发。根据报道,React Native 所带来的收益是成倍的性能提升和超过 95%的跨平台代码共享。
Shopify 是在收购Tictail之后开始其 React Native 之旅的,Tictail 是一家专注 React Native 的公司。Shopify 背后的另外一个驱动因素是他们已经在其 Web 产品中广泛使用 React 了。因此,探索将 React 模型进一步扩展至移动应用的可能性也就是很自然的事情了。在 2019 年,有三个团队分别开发了三个不同的应用程序,即Arrive、Point of Sale和Compass。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
评论