Shopify 放弃 React Native,回归原生开发
Shopify 从 React Native 转向 Swift 和 Kotlin 的技术决策与背景
Shopify 宣布放弃 React Native,改用 Swift 和 Kotlin 开发其 iOS 和安卓客户端。这一决定与 2020 年它高调全面转向 React Native 的历史形成对比。放弃 React Native 的原因包括 AI 技术使得语言翻译便捷,以及 React Native 自身存在未解决的技术问题。React Native 自 2015 年发布,迄今已超过 10 年。
技术要点
根据素材信息,本次技术分享的核心事实围绕 Shopify 的技术栈变更展开。
- 核心决策:Shopify 宣布放弃 React Native,改用 Swift 和 Kotlin 开发它的移动版。
- 开发模式转变:它决定采用原生语言,直接开发 iOS 和安卓客户端,不再采用 Web 技术开发一个中间版本,再编译成各平台的客户端。
- 历史对比:六年前的 2020 年,Shopify 曾写了一篇文章,高调宣布放弃原生语言,全面转向 React Native,拥抱 Web 技术。
原理与背景
素材对 Shopify 此次技术决策背后的动机和问题进行了阐述。
当年转向 React Native 的动机:2020 年 Shopify 选择 React Native,主要理由是节省成本。当时认为,使用 React Native 只需要养一个团队,比起为安卓和 iOS 各养一个团队,可以大大节省成本。其他理由如“不用为每个平台重复开发相同的功能”、“允许开发人员跨技术栈工作”等,素材指出这些更像是“场面话”。
如今放弃 React Native 的原因:
- AI 技术的影响:素材指出,现在有了 AI,使用什么语言根本无所谓。AI 可以便捷地翻译语言,那么为什么不用性能更好的原生语言呢,跳过中间版本。AI 被视为一个“无所不能的自动翻译器”,这使得像 React Native 这种中间语言或翻译层,其存在的必要性受到挑战。
- React Native 自身的问题:React Native 自 2015 年发布,迄今已经超过 10 年,一些基本的技术问题至今没有很好地解决,使用上手也不是很方便。素材认为,它被别人替代“一点都不冤”。
落地建议
基于素材中揭示的技术选型逻辑与行业趋势,可以为工程师和团队提供以下通用性的落地思考:
- 评估中间层技术的长期价值:在引入 React Native 这类跨平台中间层技术时,需深入评估其长期维护成本、性能开销以及技术生态的成熟度。素材中 React Native 十年未解决的基本技术问题,是此类技术需要持续面对的挑战。
- 关注 AI 对开发范式的影响:AI 工具在代码生成、翻译等方面的能力正在改变开发流程。在技术选型时,可以考虑 AI 如何影响不同技术栈的生产力。当 AI 能高效处理语言转换时,直接采用性能更优的原生开发模式可能成为更经济的选择。
- 平衡团队结构与性能需求:Shopify 的案例反映了团队结构(单一团队 vs. 多平台团队)与最终产品性能之间的权衡。对于性能要求高、用户体验敏感的核心客户端,直接投入原生开发可能是更稳妥的路径。
- 保持技术选型的灵活性:技术决策应随技术环境变化而调整。Shopify 从原生到 React Native 再回归原生的循环表明,没有一成不变的最佳方案,持续评估和迭代技术栈是必要的。
技术分享更多资讯
布里吉斯游戏引擎更新:波次与技能机制重构
游戏开发者布里吉斯发布最新技术更新,重点重构了敌人波次生成逻辑与干员技能释放机制。此次更新涉及底层数据配置与快照保存系统的优化,为后续数据库更新及前端开发奠定基础。开发者透露将学习Unity引擎技术,并计划未来转向自研引擎,标志着项目从原型向工业化开发的重要转型。
Agent 上下文治理全景原则篇:构建目标导向的智能判断体系
本文聚焦 Agent 上下文治理的核心原则,从目标、依据、边界、记忆、探索及进展六个维度,深入剖析上下文机制如何辅助智能体围绕既定任务进行持续且精准的判断。通过明确各机制职责,旨在提升 Agent 在复杂环境下的任务执行效率与稳定性,为构建更可靠的 AI 系统提供理论框架与实践指导。
Python 3.13 引入 Queue.shutdown 解决异步退出难题
Python 3.13 正式引入 Queue.shutdown 方法,旨在解决异步消费者在收到停止信号后难以优雅退出的长期痛点。此前,开发者需手动处理取消信号,常导致部分已取出的任务处理中断或资源泄漏。新特性简化了异步队列的生命周期管理,提升了并发编程的可靠性与代码简洁性,对 Python 异步生态具有积极意义。
游戏团队管理进阶:从被动救火到主动规划
本文基于对游戏团队管理实践的深入思考,指出许多管理者陷入“解决问题”的时间陷阱。通过定期复盘日程,作者发现大量精力耗费在应对架构、需求及人员冲突等突发状况上。文章主张管理者应转变思维,从被动响应转向主动发现潜在问题,优化团队效能,避免陷入低效的救火循环,为游戏行业团队管理提供新的视角。