Microsoft和Facebook日前宣布React Native的下一个目标平台是Universal Windows Platform(UWP)。
对于已经在多个设备平台上使用React Native的开发者来说,这是个好消息,因为这让他们可以在Windows上重用组件。对于UWP的开发者来说,这为他们提供了另一种开发应用的方式只要他们已经可以使用JavaScript开发应用。
尽管实质是JavaScript,React Native代码将会转化成C#代码。在这篇 公告 中, Eric Rozell说道:
该框架将React DOM从JavaScript转化为原生平台上视图管理器的方法调用,让开发者通过JavaScript的方法调用来代理原生模块的直接调用。在UWP上使用React Native的情形下,视图管理器和原生模块是用C#实现的,视图管理器会实例化和操作XAML元素。
应用中实际运行的JavaScript代码是Chakra处理的。
为了帮助React Native应用的开发,Microsoft还为Visual Studio Code发布了 React Native扩展 。该扩展提供了一个调试环境,而且可以让开发者使用IntelliSense功能遍历React Native的API。
之前,一个开发React Native应用的常用方式是使用Facebook自己的 Nuclide ,但是这在Windows并不可用。Visual Studio Code是跨平台的,为Windows上的React Native 开发者提供了一个出色的工具。
使用WinJS开发React和Angular应用已经 可行 了一段时间,但是并没有“原生控件”的感觉。最近,一个可以让开发者使用 Angular 2开发UWP应用 的社区项目已经在GitHub启动。
相比之下,React Native应用使用JavaScript和React.js开发,将UI元素编译成目标平台上原生的控件而不是渲染基于JavaScript的控件。
React Native开发者以及作者Bonnie Eisenman认为该新闻只是一个更大的趋势的起始点:
我认为针对UWP的React Native真的会将RN确立为多平台开发的普遍的通用语言,而不仅仅是移动应用。它还强调了React Native不是说在多平台上运行相同的应用;而是使用相同的技能库,促使每一个平台都有最好的用户体验。
UWP加入了Android和iOS,作为React Native的一个主要面向的平台。目前,UWP项目还是和其他项目保持独立的,但是目标还是将其中一些工作贡献回主线项目上。
查看英文原文: Microsoft Supports React Native on UWP, Adds Tooling to VS Code
感谢张龙对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。