写点什么

Shopify 的 React Native 之旅

  • 2025-05-13
    北京
  • 本文字数:1383 字

    阅读完需:约 5 分钟

大小:639.18K时长:03:38
Shopify 的 React Native 之旅

使用 React Native 五年之后,Shopify 移动团队分享了大量的心得体会,重点介绍了什么有效,什么无效,以及未来的发展方向。

 

来自 Spotify 的 Mustafa Ali 说,总的来说,Shopify 工程师使用 React Native 的经验揭示了它的几个亮点。其中一个最令人鼓舞的发现是,React Native 应用可以满足严格的性能要求。不过,正如 Ali 指出的那样,这其中并没有什么隐藏的魔法,成功与否取决于能否有效地运用合适的模式


在 Shopify 的应用中,我们实现了低于 500ms(P75)的屏幕加载 [...] 。就像原生应用一样,必须运用好的模式和技术来消除性能瓶颈。


React Native 有一个可以显著加速开发的功能是热重载,它将预览用户界面变化的时间从几分钟缩短到了几乎是即时反馈。


这不仅浪费时间,还会破坏开发工作流程。React Native 的热重载功能彻底解决了这个问题。


从积极的一面来看,Ali 认为,使用 React Native 还能带来另一大优势,即提供灵活性和健壮性,并通过在 Web 和移动端之间共享代码来提高效率。


能够在多个平台上进行开发的开发人员非常有价值。这让我们能够更快地交付产品,他们能够从一种技术中汲取好的想法,并以新颖的方式将它们应用到另一种技术中去。


到目前为止,Ali 的观点与人们普遍认可的 React Native 的优点是一致的。不过,他也分享了一些不那么显而易见的见解,比如 React Native 与原生代码融合的关键作用。对于利用设备硬件且有内存限制(如首页和锁屏小部件)的特性以及长时间运行的作业来说,这一点尤为重要。


我们发现,使用 RN ,大多数功能只需构建一次,就可以在最适合的地方使用,这样可以节省大量的时间。这也是为什么在团队中有 Native 专家至关重要的原因。


Hacker News 上有几位评论者也赞同这一点,他们指出,人们对 React Native 应用的一个普遍误解是,它能让 Web 开发人员轻松地创建移动应用。其实,更准确的观点是:“React Native 是移动开发人员避免重复编写相同应用的工具”,而不是他们跳过原生学习的捷径。

 

Ali 指出,React Native 也有一些不容忽视的缺点。首先,与 Xcode 和 Android Studio 中的工具相比,React Native 的调试往往更加困难,而且不够精简。但更令人担忧的是,每次 React Native 更新往往都会带来大量的工作,有时甚至需要重组代码库。


为了缓解这一问题,我们让一个开发小组轮流处理,而团队的其他成员则专注于功能开发。


基于 React Native 的项目还有一个弱点是依赖第三方库。虽然这些库应用广泛,但它们也带来了持续维护的负担和供应链攻击的风险。

 

虽然到目前为止,Shopify 在 React Native 使用方面取得了丰硕的成果,但在 Hacker News 上,有一些评论者指出,在某些方面,他们的应用给人的感觉是质量不高。一位评论者提到,React Native “很好用,尤其是在迭代的时候,但它让最后 20% 的工作变得比原来难很多”(https://news.ycombinator.com/item?id=42729069)。其他人则强调了 Flutter 在工具性能方面的优势。不过,他们也指出, Flutter 应用 “看起来不太对劲”,因为它们依赖于非原生组件。

 

Ali 表示,Shopify 未来会更多地使用 React Native 。他们计划贡献更多代码,赞助开源项目,并采取其他措施扩大 React Native 对各组织的支持。要深入了解全部细节,请查看原文

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://www.infoq.com/news/2025/04/shopify-five-years-react-native/

2025-05-13 18:003614

评论

发布
暂无评论

苹果鼠标有望加入 AI 语音控制功能;Accent Oracl :准确识别你口音的 AI 丨 RTE 开发者日报

声网

工欲善其事必先利其器:华为云Flexus X实例 一键部署宝塔面板

YG科技

2025加密风云:行业变革与未来趋势全景透视

chainwiseweb3

加密货币 crypto dapp开发 区块链开发DAPP开发 链游开发公链开发

使用Flexus云服务器X实例部署Kubernetes图形化管理平台

YG科技

华为云Flexus云服务器X实例之openEuler系统下部署emlog轻量级博客平台

YG科技

深入解析华为云X实例保障云上业务安全的关键策略

YG科技

docker 部署kafka及ui搭建

YG科技

云服务器Flexus X实例,镜像切换与服务器压力测试

YG科技

基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

YG科技

华为云Flexus X实例评测使用体验——Anaconda环境安装

YG科技

华为云Flexus云服务器X实例部署Trilium Notes知识库工具

YG科技

华为云Flexus X实例docker部署Rocket.Chat构建属于自己的团队通讯协作平台

YG科技

利用华为云Flexus X实例解决家里公网80和443端口不开放问题

YG科技

Java面试突击手册,一周刷完这300道面试题,你也可以当架构师!

Summer

Java 程序员 面试 架构师 大厂

天润融通工单系统:一键催单功能提升客户满意度

天润融通

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里巴巴云原生

阿里云 云原生 通义灵码

华为云Flexus X实例docker部署ERPnext构建属于自己的企业资源规划系统

YG科技

EulerOS+Nginx+MySQL部署GLPI资产管理系统

YG科技

华为Flexus云服务器快速上手实例安装“运维搭子“

YG科技

华为Flexus云服务器X实例实测-零信任访问方案Next Terminal

YG科技

华为云Flexus云服务器X实例之openEuler系统下部署WordPress网站

YG科技

FORCE 大会开发者论坛演讲实录|吴一帆:边缘智能在 Agent 上的探索与实践

火山引擎边缘云

智能IoT边缘服务 AI 大底座 大模型、 边缘智能

亚信科技研发智能化实践之路

阿里云云效

阿里云 云原生 通义灵码

阿里拿38K出来的大佬良心分享,熬夜整理10 万字详细Java面试笔记!

Summer

Java 程序员 面试 架构师 大厂

华为云Flexus X实例:一键助力中小企业,快速部署个性化网站!

YG科技

2024年12月文章一览

codists

文章一览

LeetCode题解:2625. 扁平化嵌套数组,递归

Lee Chen

云服务器Flexus X实例|Ubuntu+docker部署.NET项目

YG科技

亚信科技研发智能化实践之路

阿里巴巴云原生

阿里云 云原生

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里云云效

阿里云 云原生 通义灵码

全面指南:使用华为云Flexus X部署私人图床

YG科技

Shopify 的 React Native 之旅_软件工程_Sergio De Simone_InfoQ精选文章