写点什么

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

  • 2020-02-24
  • 本文字数:1064 字

    阅读完需:约 3 分钟

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


2020-02-24 11:311602

评论

发布
暂无评论
发现更多内容

智慧公安警务系统搭建,警务大数据可视化分析平台解决方案

13828808769

智慧城市

一次客户需求引发的K8s网络探究

京东科技开发者

云计算

如何学习数据结构与算法

C语言与CPP编程

c c++ 数据结构 程序人生 算法

在开源的公链上实现隐私保护?静看NA公链 NAC公链创新之路应如何蜕变

区块链第一资讯

Java 并发系列(二):DCL — Double Check Lock

TroyLiu

Java volatile 多线程 synchronized DCL

首站重庆聚焦智慧物流、呈现最新AI能力

百度大脑

AI 百度大脑

区块链溯源服务平台,区块链商品防伪溯源解决方案

13828808769

区块链+ #区块链#

【技术面对面】基于场景图的多物体图像生成技术

京东科技开发者

云计算

Mongodb特定场景性能数十倍提升优化实践(记一次十亿级mongodb核心集群雪崩故障)

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

【签约计划】技术编辑能力考核成绩公布

InfoQ写作社区官方

签约计划 热门活动

银四30天,苦心啃透java高级工程师面试1000题,涨薪10K很难吗?

Java 编程 程序员 架构 面试

企业利用边缘计算的10种方式

边缘计算

Java程序员都要懂得知识点:反射

华为云开发者联盟

Java 对象 反射 class 函数

Python+OpenCV检测灯光亮点

不脱发的程序猿

Python OpenCV 28天写作 3月日更 检测灯光亮点

LDO和DC-DC有什么不同?如何选型?

不脱发的程序猿

28天写作 3月日更 LDO DC-DC 电源转换

华为云自研PB级分布式时序数据库揭秘第一期初识GaussDB(for Influx)

华为云开发者联盟

云原生 时序数据库 华为云 分布式时序数据库 GaussDB(for Influx)

一个魔幻的框架,3分钟纯 Java 注解搭个管理系统

程序员小富

Java 大前端 后端

云图说|一张图带你了解华为云分布式数据库中间件

华为云开发者联盟

数据库中间件 DDM 分布式数据库中间件 华为分布式数据库中间件

科技赋能城市建设,英特尔正式发布智慧社区解决方案参考架构

E科讯

Python基础之:Python中的异常和错误

程序那些事

Python Python3 程序那些事

Python OpenCV setMouseCallback 回调函数,取经之旅第 13 天

梦想橡皮擦

3月日更

实现一个“能中断”的ajax

云小梦

JavaScript ajax Promise axios 请求拦截

区块链溯源,茶叶溯源平台的搭建

13828808769

#区块链#

“广度”和“深度”,是我最终选择蚂蚁的理由

DT极客

实战案例丨分布式系统中如何用python实现Paxos

华为云开发者联盟

Python 算法 分布式系统 PAXOS 集群库

百度飞桨中国行南京站开启!共研AI赋能产业新模式

百度大脑

百度 AI 飞桨

开源项目月刊《HelloGitHub》第 60 期

HelloGitHub

GitHub 开源

区块链溯源,茶叶溯源平台的搭建

13828808769

区块链+ #区块链#

Elasticsearch详细剖析

大数据技术指南

ES 3月日更

python中find_element()和find_elements()的区别

Geek_6370d5

Python

Rust从0到1-基础概念-注释

rust 代码注释

Shopify将移动开发转向React Native,性能提升翻倍、超95%跨平台代码共享_移动_Sergio De Simone_InfoQ精选文章