Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 tokens! 了解详情
写点什么

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

评论

发布
暂无评论

【技术实战】会员商城任务成就系统:从需求分析到代码实现的完整指南

飞算JavaAI开发助手

SpringBoot + 微服务开发太难?AI 工具自动生成脚手架代码!

飞算JavaAI开发助手

区块链资产交易所开发:从零到一构建币币交易平台

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

ChatGPT 与 AGI:人工智能的当下与未来走向全解析

Techinsight

中小企业必备!华为云Flexus云会议重塑会议协作体验

轶天下事

【莓创Chart】基于鸿蒙原生ArkTS语法开发的图表组件--柱状图

莓创技术

Solr 可观测性最佳实践

观测云

solr

一文看懂!大模型、超大模型和 Foundation Model 有何区别?

Techinsight

#大模型

Java 开发者必备工具清单:提升效率的 10 款神器

飞算JavaAI开发助手

跟大家一起来总结我半年内参加三次鸿蒙比赛,失利了两次的经验,这体验真刺激!!!

莓创技术

故障测试——微软工程手册

FunTester

使用门槛大幅降低!华为云Flexus云会议引领中小企业会议变革

轶天下事

【限时福利】参与炫技赛,免费解锁AI工具高级版!速领→

飞算JavaAI开发助手

[大厂实践] Pinterest 基于 Ray 的机器学习数据处理

俞凡

人工智能 大厂实践

分享之前使用HarmonyOS NEXT Canvas做的动态GIF视频的一个案例,没有感情,全是技术。

莓创技术

打破地域限制!华为云Flexus云会议助力中小企业远程协作

轶天下事

Vue3组合式API终极指南:从原理到实战,彻底掌握高效开发!

不在线第一只蜗牛

vue.js 前端

场景题:线上接口响应慢,应该如何排查问题?

卷福同学

Java 面试 接口 场景题

95后程序员靠飞算JavaAI副业月入过万:他的接单秘籍全公开

飞算JavaAI开发助手

专为中小企业量身定制!华为云Flexus云会议重塑会议体验

轶天下事

注册即用,一天不到1元!华为云Flexus云会议助力企业降本增效

轶天下事

Cartesia 升级 TTS 模型,可在音频中无缝填充内容;索尼 AI 游戏角色原型:结合语音与动画,与玩家实时对话丨日报

声网

使用Langflow和AstraDB构建AI助手:从架构设计到与NocoBase的集成

NocoBase

开源 AI 低代码 #LangChain AI 助手

人工智能引发就业变革:热门职业面临淘汰危机!

Techinsight

人工智能

降本增效新路径!华为云Flexus云会议打破距离限制、革新会议体验

轶天下事

NocoBase vs OutSystems:低代码平台,开源还是闭源?

NocoBase

开源 开发者 低代码 开发工具 无代码

SD-WAN:为企业打造低成本高性能组网

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

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