19

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

 4 years ago
source link: https://www.infoq.cn/article/tPbodAX0rtFRPZWX4lDU
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

对 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK