系统粉 > IT资讯 > 微软资讯

微软开源跨平台React JS React Native开发工具ReactXP

发布时间:2017-04-09    浏览数:

  reactxp是微软的skype团队开发的一个js库,它不仅支持Android和iOS,还支持web和windows,看似比React Native还要牛。 新的开源库利用了React框架,允许开发人员在他们的应用程序中使用React。ReactXP允许构建响应性的网页和移动应用程序,通过ReactJS和React Native,这些应用程序开对平台来说增加了原生性。


  reactxp利用React和React Native,Web应用措施可以与iOS和Android应用措施共享大部门逻辑,但视图层需要为每个平台别离实现。因此微软进一步开拓了一个薄的跨平台层,称之为ReactXP。假如开拓人员将应用措施写入此抽象,则可以在多个方针平台上共享视图界说,样式和动画。虽然,措施员仍然可以提供平台特定的UI变体,可是这可以在需要时选择性地举办。

  ReactXP的设计思量了跨平台开拓。一般来说,它袒露了在React JS(HTML)和React Native为iOS和Android应用以一致的方法实现的API,组件,道具,样式和动画参数。一些平台特定的道具和睦势气魄属性已经袒暴露来,但微软已经实验将其保持在最低限度。ReactXP的意图则是尽大概精练。焦点组件和API仅限于险些所有应用措施所需的成果。ReactXP的扩展以雷同的跨平台方法袒露了更多的专门成果。


  ReactXP与React Native的关系

  官方解释说,ReactXP构建于React Native之上,提供几乎与RN相同的Web版本API,但ReactXP并不是RN的子集或超集。

  ReactXP最重要的特点是它的API的一致性,在某些情况下,平台之间的实现不同,API会在一些平台能使用,在另一些平台则是无操作(但能被调用),ReactXP尽可能的不让用户去关心平台区别。

  使用ReactXP能过直接调用RN或React DOM,但这时需要根据条件判断平台来进行相应的操作。

  ReactXP与React Web的异同

  如果关心React发展的同学可能发现,微软的这个东西怎么似乎见过。不错,早在15年,淘宝FED就推出了一个React Web项目,使用React Native兼容的API开发Web应用。后来Twitter也推出了一个React Native for Web项目,与前者目标相似,不过在国外这个更为知名。

  微软解释了ReactXP和React Native for Web的不同。ReactXP只包含能够跨平台的API和组件,它的目标之一是让开发者使用自己喜欢的环境开发应用,并且有信心让应用跑在不同的平台上而不用过多的担心兼容问题。ReactXP构建于React.js和React Native之上,目标是跨平台,而React Native for Web目标是Web平台。


  ReactXP特点:

  * 跨越更多的平台(Android、iOS、Web、Windows10)

  * 统一Api

  * 一套代码

  * 可以使用TypeScript,但不强制使用

  * 学习成本低(语法与React、React Native基本一样)

  ReactXP 能够提供轻量级的基于 React JS 和 React Native 的跨平台抽象层,并能够实现用于实现更加复杂的组件的基础组件。其支持如下平台:

  web (React JS)

  iOS (React Native)

  Android (React Native)

  Windows UWP (React Native)


  Cordova 和 Xamarin是开发者解除较为多的开发平台工具,但是前者无法提供足够令人满意的性能表现,而后者在 Web 开发上心有余而力不足。ReactXP的出现解决这两者之间的缺点,统一了React JS 和不同的React Native 实现的行为和接口,为开发者进行Web 开发提供了便利。

  二者定位不在一个维度上,react( native)是前端框架,而且对各平台差异化内容不给你做模型统一,XP定位是底层基于react( native)跨平台泛前端开发解决方案,要让大家的write once run anywhere。实际上ReactXP集成了react和React Native,它是建立在React和React Native之上的一个抽象层,构建具体的平台代码还是依赖React和React Native。这和TypeScript有点类似。

  ReactXP的设计考虑了跨平台开发。一般来说,它暴露了在React JS(HTML)和React Native为iOS和Android应用以一致的方式实现的API,组件,道具,样式和动画参数。一些平台特定的道具和风格属性已经暴露出来,但微软已经尝试将其保持在最低限度。ReactXP的意图则是尽可能轻便。核心组件和API仅限于几乎所有应用程序所需的功能。ReactXP的扩展以类似的跨平台方式暴露了更多的专门功能。

  Skype 团队近日决定对 ReactXP 进行开源,以造福更多的开发者。同时,他们还承诺会大约每个月推出一次更新,以匹配 React Native 的发行速度。感兴趣的开发者可以前往(https://microsoft.github.io/reactxp/)了解更多关于ReactXP框架的细节。


  关于ReactXP,部分用户的观点:

  用户一:

  1. 从微软来看,推出 ReactXP 可能是为了借助 react , 吸引开发者,促进 windows 生态发展;

  2. 从 React 来说,其生态更强大了。React Native 已经使得 web 和 native 应用可以共享业务逻辑部分的代码了;ReactXP 的目标是要让 web 和 native 应用共享 view层代码,如果能实现,真是碉堡了;

  3. 从前端开发者来说,能做的事越来越多了,担子越来越重了。

  用户二:

  我刚试了一下,web下的体验爽爆了。还带动画的,呵呵。

  个人觉得ReactXP会有很好的市场。

  用户三:

  ReactXP 的意思是 React Cross Platform。那如何跨端的呢?在 React 和 React Native 封装一个抽象层,也是一个子集,提供跨平台的 API。底层 iOS/Android 就是跑RN,Web 就是 React,其他平台就用 Electron 把 Web 包起来……跨端了。看看目前的组件列表,相当的匮乏。

  理想很美好,现实却很骨感。还有很多抽象要去做,还有很多坑要去填,要跨多端牺牲的是每个端的性能,特性,那又有多少需求是要跨那么多端实现的呢?不过可以看清两个方向,一是跨端是一个趋势,二是跨端这件事情落地到了前端!

  用户四:

  看了一下介绍,不是很看好。

  React本身就没有屏蔽,也不想屏蔽底层细节。现在搞出一个 XP 来,无非是提取子集的玩法,未来空间有限。

  其实看看桌面端的历史,大致可以猜一下,真正的跨平台 UI 框架,还得立足于自己画控件,封装原生能走的路有限。

  而且我觉得这个方案不像微软的大手笔。按照微软的量级,难道不是应该重新发明一遍 UI 树和样式表甚至 api,搞出一个新平台来全面覆盖原有平台吗?

  或者干脆把 WPF 和 blender 那套东西整理整理,搞一个天上地下,无所不包的客户端全家桶出来。

  用户五:

  React的各种衍生技术,最有空间的还是RN,最根本原因在于Facebook的创新精神有助于推动整个技术不断向前发展。微软从windows之后,陆续出了一些office之类的大作,企业成了行业垄断者之后,基本丧失了创新能力,只能通过不断升级老产品、收购其他公司之类的商业运作套路来维持市场地位。

  这次的reactXP,在思想上无疑是可以肯定是正确的:跨平台会是后面一段时间里,前端技术将要突破的一个大趋势——虽然并不确定挖掘机技术最终哪家强,但火热爆炒的环境,对加速突破行业技术瓶颈,是一件好事。

  对于某些无视行业发展趋势,各种抵制创新的砖家,还是尽早醒醒吧——那些嘲笑降低社会成本的创新的人,只是因为他们太过于害怕新技术给他们带来的冲击和改变。等最后才被动发现谁动了你的奶酪,结果往往是比较可悲的。在技术圈里混,如果对新技术,新方向都一棍子打死,缺乏一种冷静客观看待的心态,基本说明自己心态不经意间已经趋于保守,及时调整心态,在到达沙滩醒悟过来,于人于己,都是一种小幸运。

  对于ReactXP大家又有什么看法呢?如果你是开发者的话,现在微软已经将ReactXP上传至GitHub,大家可以使用ReactXP网站获得这个新的ReactXP开源库。

上一篇:微软Surface Pro5更新至Kaby Lake平台? 下一篇:首获第一:微软Surface设计、生产力已超越苹果iPad

相关资讯

最新热门应用

电脑问答