写点什么

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:311585

评论

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

全网最全 ECMAScript 攻略

清秋

JavaScript ecmascript 大前端 ES6 Ecma

悲观锁与乐观锁的实现(详情图解)

Java架构师迁哥

开发知识 | 即时通讯是怎么做到的?

YonBuilder低代码开发平台

大前端 即时通讯 APP开发 小程序制作 开发技巧

走完线上 BUG 定位最后一公里

阿里巴巴中间件

可观测性 bug bug修复

Rust从0到1-代码组织-模块

rust modules 模块

Golang Test

escray

学习 极客时间 Go 语言 4月日更

泉州有了一个水务大脑,用AI守护“绿水青山”

百度大脑

AI

谈谈 WebRTC 的 SDP Unified Plan

拍乐云Pano

WebRTC

编曲新手可以用什么编曲软件?

奈奈的杂社

阿里巴巴的“双11”高并发秒杀终极版教程!(Java语言设计)

Java 编程 程序员 架构

破解class文件的第一步:深入理解JAVA Class文件

华为云开发者联盟

Java JVM 索引 class文件

LeetCode题解:641. 设计循环双端队列,使用数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

视频录制后有噪音怎么办?教你简答几步去除视频噪音!

奈奈的杂社

一周信创舆情观察(4.12~4.18)

统小信uos

redis常见应用场景

Sakura

4月日更

插件化库VirtualAPK详解

寻找生命中的美好

android 插件化 VirtualAPK

GitHub开源:4行代码实现《黑客帝国》数字雨特效

不脱发的程序猿

GitHub 开源 程序人生 4月日更 黑客帝国

架构实战营模块二作业

刁寿钧

架构实战营

饿了么EMonitor演进史

阿里巴巴中间件

可观测性 饿了么 emonitor etrace

流程引擎介绍

上海派拉基础研发

流程

聪明人的训练(二十三)

Changing Lin

4月日更

合约跟单系统搭建,合约一键跟单app

暴涨暴跌的牛市,普通人怎么和平发育?

CECBC

区块链

阿里开发7年大牛:只需一篇文章吃透Android多线程技术,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

线程的故事:我的3位母亲成就了优秀的我!

王磊

Java 线程 多线程

Android组件化和插件化开发

寻找生命中的美好

android 组件化 插件化

自从有了他,再也没有担心过环境部署~

MY

部署与维护

rrxjava原理,手持4个大厂offer的我,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

使用CrossOver安装第三方软件

懒得勤快

万字精华:好好巩固你的Nginx知识体系

学Java关注我

Java 编程 架构 程序人生 计算机

加密原理详解:对称式加密VS非对称式加密

Java架构师迁哥

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