从名字来看,它是基于React框架的,官网上微软称之为跨平台App开发工具库,并罗列了它的主要特性,包括:
基于React.js和React Native构建。
XP表示支持跨平台,目前支持Web浏览器、Android、iOS,计划支持UWP,至于其它桌面平台则建议使用类似Electron这样的工具。
创建响应式的,接近原生应用体验的App.
简单来说,ReactXP为React.js和React Native增加了一个中间层,让React Web应用的API与React Native兼容。
在官网的文档里,官方团队进一步解释了围观群众可能疑惑的一些问题。
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平台。
但事实上微软的这个理念也并不新鲜,淘宝FED后来又在React Web的基础上弄出了Rax项目,这个项目野心更大,不但要跨平台,而且将RN、Weex、Node.js视为容器,Rax的目标还要能够跨容器,这个更厉害。
标签:ReactXP,微软,前途