Redian新闻
>
微软跨平台开发新思路:React Native 如何赋能 Office、Teams、Xbox 等应用?

微软跨平台开发新思路:React Native 如何赋能 Office、Teams、Xbox 等应用?

公众号新闻

作者 | Tim Anderson
译者 | Sambodhi
策划 | Tina
专访:尽管微软有一些自己研发的框架,但仍是使用 React Native 进行跨平台开发的最大牌用户之一。  

在不久前的 QCon 伦敦大会上,微软资深软件工程师、也是 React Native 维护者之一的 Lorenzo Sciandra 向 DevClass 阐述了微软选择这种跨平台开发方法的原因。尽管存在 .NET MAUI(多平台应用 UI)等替代方案,以及微软在 Office 上对跨平台 C++ 的长期投资,但微软仍坚持使用 React Native。

微软 Lorenzo Sciandra 出席 QCon 伦敦大会

React Native 在微软的应用案例包括了 Microsoft Office、Outlook、Teams、Xbox、Skype 以及 Xbox 上的 Microsoft Store。不过,这并不是说这些应用完全采用了 React Native,因为这家公司采用了 Sciandra 所说的“棕地开发”技术,即在现有代码库的基础上,通过 React Native 扩展新功能。React Native 还在 Copilot 中有多种形式的应用,Sciandra 表示这是一项“巨大的成功”,但他这次只是“留下了一个小悬念”,更多细节将于今年晚些时候揭晓。

译者注:“棕地开发”(Brownfield Development)在软件开发领域指的是在已有的、部分完成或老旧的软件系统或代码基础上进行开发和扩展的过程。这与“绿地开发”(Greenfield Development)相对,后者通常指在全新的、没有任何现有系统约束的环境下进行软件开发。在“棕地开发”中,开发团队会利用现有的软件架构和代码库,通过添加新功能、优化性能或整合新技术来提升现有系统的价值和效率。这种方法允许企业在保留历史投资的同时,逐步引入创新和改进,减少风险和成本。在微软使用 React Native 的案例中,“棕地开发”技术使得公司能够在现有的应用程序中集成 React Native,从而增强产品的功能和用户体验,而无需完全重写整个应用程序。

谈及微软何时开始使用 React Native,Sciandra 告诉 DevClass:“这有点复杂。公司内部的一些组织几乎在 React Native 刚刚可用时,也就是大约 2015 年至 2016 年间,就开始使用了。Skype 是最早投资 RN 的项目之一,Office 和 Windows 组织也差不多第一时间展开了合作。随着时间的推移,这些不同部门的努力逐渐汇集成更大规模的投入,现在 Xbox 也在这个平台上投入了大量资源。我们推出了 React Native Windows 和 React Native macOS 平台,任何人都可以在开源社区中使用它们。这需要与 Meta、亚马逊等其他公司开展大量合作,而我主要负责确保这些公司之间的合作能够协调一致,从而进一步完善这个平台。”

微软也有其他一些跨平台方案可选,那么 React Native 是哪里吸引了微软呢?Sciandra 为我们揭晓了答案:“首先是 JavaScript 的可雇佣资源,它的人才储备很丰富。” 他进一步指出,像 C++ 或 C# 这样的语言 “更为专业,更加复杂。” 此外,“我们的所有应用都有 Web 版,且其中多数都采用了 React 作为关键组件之一,因此将 React Native 作为一个选项让我们得以在 React 领域进行有针对性的投资。”

React Native 用于棕地开发的能力同样很关键。“这并非全盘接受或否定的选择。虽然也有其他一些跨平台方案,但使用这些方案时你通常需要编写所有内容。而使用 React Native 时,我们在现有项目基础上添加这一层就行了,这样尝试用一个屏幕开发也会轻松很多。”Sciandra 解释道。

至于实践中是否使用 TypeScript 而非 JavaScript,Sciandra 表示:“我认为几乎所有使用 React Native 的人们都在用 TypeScript。” 但他也强调,JavaScript 的普及率依旧是个优势,“(JS)有一个庞大的社区支持,众多现成的库可供利用。”

React Native 的另一个特性是它利用原生操作系统控件,而不是像谷歌 Flutter 等框架那样一般自行绘制控件。“这意味着运行应用的操作系统知道应用在做什么事情。”这有利于导航和优化,同时也保证了应用的原生外观和体验。

然而,Sciandra 也坦诚地谈到了使用 React Native 所面临的一些权衡问题。其中最大的挑战之一是 “这个领域的活跃度和动态性。” 他提到,“需要紧跟 Meta 等公司的步伐,因为它们的每次提交都会在几小时内生效,这是复杂性的主要来源之一。”Sciandra 的部分职责便是与 Meta 等伙伴合作,“确保发布的版本是可靠、稳定、可预测的”。

React Native 虽然是开源的,但其用于 Android 和 iOS 的存储库由 Facebook 管理,而用于 Windows 和 macOS 的存储库则由微软管理。“这意味着我们需要紧跟代码库的更新步伐,”Sciandra 如是说。

React Native 接下来还会有很多变化。Meta 正在采用 新架构 来重构其核心内部,尽管目前新架构仍处于实验阶段,但未来将成为默认选项。也就是说,采用 React Native 就意味着需要做好准备,经常跟随框架更新而重构代码。

那么,React Native 与其他方法(如使用 Web 视图的 Electron,同样使用 JavaScript 或 TypeScript 来创建桌面应用)相比又如何呢?Sciandra 提到,Meta 已经将 Messenger 应用从 Electron 迁移到了 Windows 和 macOS 上的 React Native 上,并取得了显著的性能提升和二进制大小改进。

不过,使用 Web 视图可以轻松实现 Web、桌面或移动设备之间的代码共享,而 React Native 在这方面则稍显逊色。“React 和 React Native 之所以是两个独立的项目,是因为 React Native 需要一些类似于 React,但又不能直接复用 React 代码的定制代码。”Sciandra 解释说,“例如,对于组件库或设计系统,你无法轻松共享代码,需要为 React Native 构建定制组件。”

尽管如此,这种情况也可能会改变。React Strict DOM 正在开发中,Sciandra 表示,“我们的目标是找到一种方法,让为 Web 编写的 UI 能够直接在 React Native 中运行。”

Sciandra 的演讲以《微软如何利用 React Native 获得战略优势》(How Microsoft leverages React Native for strategic advantage)为题,其受众是有着质疑精神的 QCon 参会者。对于那些有兴趣使用原生控件进行跨平台开发的开发人员来说,这一话题值得关注——尽管微软说的和做的并不是一回事,他们的跨平台开发营销更侧重于 .NET MAUI。

原文链接

https://devclass.com/2024/04/11/react-native-and-why-microsoft-uses-it-for-its-own-cross-platform-development/

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

今日好文推荐

德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?

谷歌大裁员引发元老集体抗议:领导脑袋空空,无能的中层管理团队不断扩大

系统 bug 致百人入狱,砸了 2.8 亿元仍上云失败!二十年了,这家大企业被日本软件坑惨了

钉钉卡位战:SaaS 挣不到的钱,Agent 会挣到

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
百度谢广军:1年来千帆大模型平台开发出16万个应用Bun 为 JavaScript 和 TypeScript 开发者提供了一个跨平台的 Shell78、长篇家庭伦理小说《嫁接》第二十一章 初来乍到(2)精选PM岗位丨Microsoft、Adobe、Tesla等公司开放岗位!热话 | 全程网办!香港积金局线上平台开始试用!特斯拉中国Model Y、S、X全系降价五言+七言高考倒计时!担心不顺利?Alevel帮你打开名校新思路!【MR、TYP -> CX 10% Bonus, MR -> EY 20% Bonus (targeted)】转点奖励活动汇总一种很新的育儿思路:用老板思维带娃机械革命无界 15 Pro 锐龙版笔记本预热:R7-8845HS、90Wh 大电池在墨尔本拍CT、X光,竟还有这种“黑科技”!《格桑梅朵》&《异乡人》GDC上风头尽出的腾讯新作,让我看到跨平台开发一点曙光​张雪峰炮轰“文科都是服务业”遭起诉,我却有了养孩子的新思路……微软交出亮眼 AI 成绩,单但 Surface 和 Xbox 硬件收入大幅下滑玄派玄意星星耀 2024 锐龙版笔记本发布:R7-8845HS、Oculink 显卡扩展,4199 元起XBOX总裁:行业增长乏力最让人担忧,游戏研发越来越贵风险巨大带你去阳明山看樱花· 春光美新一代跨平台UI开发工具VGG——无代码还原设计稿的静态视觉效果哈佛“封园”!MIT、Tufts、Emerson学生声援哥大,扎营抗议Create 2024百度AI开发者大会:李彦宏带来三大AI开发工具,让人人都是开发者大厂动态丨Google、Tesla裁员不停,Apple捞人不止!一支铅笔First day back to the office (Return to Office RTO)全日程发布|AI 大模型如何赋能智能网联车技术创新与产业应用?Starved of Affection at Home, Teens Seek Out ‘Digital Parents’小红书开源跨平台播放器REDPlayer,支持多平台、多格式、多协议设计圈三月大事!Rob Wagemans、Tristan Auer等海内外顶尖设计师将齐聚魔都!用Rust开发跨平台游戏是怎样的体验?保税:在家remote work的人可以claim home office expenses 吗?高考倒计时!担心孩子考试不顺利?Alevel帮你打开申请名校新思路!瑞幸回应“不招聘上海人”;钟薛高创始人称卖红薯也把债还上;特斯拉中国Model Y、S、X全系降价;F1时隔5年重回中国|邦早报刚刚,Melbourne Centre、Chadstone,双双全澳第一!策划、文案、海报制作……AI如何赋能律所品宣十倍提效?跨平台 CPU 加速,百度智能云的一键性能调优技术分享一区SCI新宠!孟德尔随机化发文新思路,零基础小白也能发高分……
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。