译:Microsoft/ReactXP 简介
在Github的Microsoft项目中发现一个名为ReactXP的项目,这是一个由Skype团队开发的,用于进行Web及跨平台APP开发的库(建立在React Js 和 ReactNative之上)。看了下国内还没介绍,特将其官网的介绍博文翻译过来,https://microsoft.github.io/reactxp/blog/2017/04/06/introducing-reactxp.html
从VS Code, .Net Core, TypeScript, PowerShell, ReactXP 等一系列的优秀开源项目来看,自从Nadella主政提出“移动优先、云优先”的战略后,微软正积极拥抱开源社区。
虽然,曾经在移动战略上失利,但现在微软正焕发着新的活力。 ——吴盐以兑 译注
我们微软Skype团队很高兴地宣布,现在开源了ReactXP,我们开发这个库目的是将其用于跨平台的开发。它基于React JS和React Native,允许您使用单个代码库来创建Web和Native的应用。
ReactXP的历史
Skype运行在许多平台上,包括台式机,笔记本电脑,手机,平板电脑,浏览器,甚至电视和汽车。历史上,每个Skype客户端的UI都是从零开始以每个平台的“Native”语言来编写的(iOS上使用Objective C,Android上使用Java,Web上使用HTML和JavaScript等)。大约一年前,我们着手努力重塑Skype。我们决定,我们需要采取新的方法来进行客户端开发 - 这将使我们的工程效率和敏捷性最大化。我们想过在不同的代码库中多次实现新的功能,我们也想尽量减少重复工作。我们探索了一些可能的选项,像Cordova(PhoneGap)这样的Web封装方案没有能达到我们希望的性能或原生体验( “native feel”);Xamarin是跨平台移动开发的绝佳解决方案,但可惜不能用于Web版本。我们最终决定在React JS和React Native之上建立我们的新客户端。为了统一React JS和React Native实现中的行为和接口,我们开发了ReactXP。 (最初将其称为ReactX,因此在来源中提及此术语。)
Skype团队还对React Native代码库做出了许多贡献,修复错误,提高性能,并消除React JS和React Native之间的行为差异。最大的贡献是React Native布局引擎的重大改造。原始实施方式松散地遵循W3C flexbox标准,但与某些重要方面的标准不同。现在更新的布局引擎能可靠地生成与所有兼容的Web浏览器相同的布局。
ReactXP设计理念
ReactXP被设计为一个在React和React Native之上的一个轻量级跨平台抽象层。它实现了十几个可用于构建更复杂组件的基础组件。它还实现了一个被大多数应用程序所需的API命名空间集。
ReactXP目前支持以下平台:Web(React JS),iOS(React Native),Android(React Native)和Windows UWP(React Native)。 Windows UWP仍然是一项正在进行的工作,一些组件和API尚未完成。
ReactXP 核心(“core”)仅包含通用功能。更加特定的跨平台功能用ReactXP扩展的形式提供。 Skype团队开发了大约二十个这样的扩展,我们计划逐步来开源其中一些。扩展的形式会允许我们扩展ReactXP,而不增加其占用空间或复杂性。
当我们决定在ReactXP中公开哪些属性(props)和样式(style attributes)时,我们尽力坚持能在所有支持的平台上统一实施的方式。例如,我们不会公开任何不兼容React Native的HTML特定属性或特定CSS样式。在一些特殊情况下,我们公开某一平台特定属性或样式时,会将在文档中标记为在其他平台上的“非通用”(“no ops”),但这只是在我们找不到变通的解决办法时才会如此。
ReactXP的未来
Skype团队将继续维护和构建ReactXP,微软的其他团队也开始使用它并作出贡献。今天我们开放给更广泛的开源社区。希望其他人会觉得有用,欢迎反馈和贡献。
我们计划每月新增一个ReactXP版本,与React Native版本大致对齐。
去代码库Microsoft/reactxp看看。
[本文首发于知乎 ]
译:Microsoft/ReactXP 简介的更多相关文章
- dig命令(转载)
dig命令使用大全(linux上域名查询) 可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程,dig命令可以帮助我们学习DNS的原理,配置,以及其查询过程.以前使用dig仅仅是查询一下A记录或 ...
- .net学习网站汇总
http://chs.gotdotnet.com/quickstart/简介:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示 ...
- Office 365 开发概览系列文章和教程
Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...
- [dig]使用dig查看当前网络连通情况
1. dig domain, 通过server可以查到该域名被哪个server给解析了 2. dig @dns domain 不走/etc/resolve.conf,直接走指定的dns ------- ...
- dig命令使用大全
https://www.cnblogs.com/daxian2012/archive/2013/01/10/2854126.html 译者序:可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程, ...
- 项目总结(二)->一些常用的工具浅谈
程序员是否应该沉迷于一个编程的世界,为了磨砺自己的编程技能而两耳不闻窗外事,一心只为写代码:还是说要做到各有涉猎,全而不精.关于这点每个人心中都有一套自己的工作体系和方法体系. 我一直认为,程序员你首 ...
- Dig HOWTO 中文手册--dig命令使用大全
Dig HOWTO 中文手册--dig命令使用大全 DNS -- 本人翻译的dig howto手册. 译者序: 可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程,dig命令可以帮助我们学习DN ...
- 【转载】解决繁体、日文游戏乱码的五种方法 转载自:http://tieba.baidu.com/p/488627981
方法1:转换区域 开始——设置——控制面板——区域和语言选项——分别选择“高级”和“区域选项”标签——在其下拉框中都选择“日语”(或“日本”)(选项有点多,慢慢找)——重启后即可生效. *某影注:日语 ...
- React Native 三端同构
React Native 三端同构 https://www.ibm.com/developerworks/cn/web/wa-universal-react-native/index.html rea ...
随机推荐
- Windows下Fortran编译Lapack库及使用的方法(转自新浪)
Lapack 是一套被非常广泛使用的线性代数计算工具库,现在的主要编写语言时 Fortran90 .Lapack 基本上可以说是速度最快的线性代数计算库,我们看看官方给出的其被应用的几个地方就可以看出 ...
- 72. Edit Distance (String; DP)
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- python之信号量【Semaphore】
# 互斥锁同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据,比如 # 一个厕所有3个坑,那么最多只允许3个人上厕所,后面的人只能等里面有人出来了才能再进去 import ...
- SQL Server优化50法(转载)
虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决. 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题 ...
- 相机拍摄时最重要的三个参数——光圈、快门、ISO
注:这篇文章我四年前发布在其他地方,现在移过来. 如果你对相机只有很少了解,那么看这篇文章再好不过啦,我结合很多资料,力图用最通俗易懂的方式进行讲解. 相机拍摄时最重要的3个参数就是——光圈.快门.I ...
- Codeforces C. NP-Hard Problem 搜索
C. NP-Hard Problem time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...
- 关于UI设计行业的认识再到认识
相信很多同学和我一样提及到UI行业时,尤其是连门槛都没有踏入半步时,总会一脸茫然. 我也是一样的,我刚接触UI的前半个月,文章读过好多,作品也看过好多,什么"小白入门UI的十大建议啊&quo ...
- Netty 零拷贝(一)Linux 零拷贝
Netty 零拷贝(一)Linux 零拷贝 本文探讨 Linux 中主要的几种零拷贝技术以及零拷贝技术适用的场景. 一.几个重要的概念 1.1 用户空间与内核空间 操作系统的核心是内核,独立于普通的应 ...
- part1:1-embeded学习心态
遇到问题,要冷静分析问题,采用排除法,个个排除查找问题之所在!切记!在没分析完自己问题之前,别把问题所在指向他人!
- IIS 6 备忘
用IIS7久了, 回到IIS6 总被搞混,所以记录下,以备忘记. 以下是转载和整合了他人的资源,原出处不详. IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置, ...