React.js Conf 2015会议上,Facebook发布了React Native,能够基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App。并且React Native已经用于生产环境——Facebook Groups iOS应用就是基于它开发的。Facebook也已确认,这个项目很快将会开源。 javascript
根据ProgVille的文章,React Native的原理是,在JavaScript中用React抽象操做系统原生的UI组件,代替DOM元素来渲染,好比以<View>取代<div>,以<Image>替代<img>等。java
在幕后,React Native在主线程以外,在另外一个背景线程里运行JavaScript引擎,两个线程之间经过一批量化的async消息协议来通讯(有一个专门的React插件)。react
UI方面React Native提供跨平台的相似Flexbox的布局系统,还支持CSS子集。能够用JSX或者普通JavaScript语言,还有CoffeeScript和TypeScript来开发。有评论说,React的UI层模型要比UIKit好不少。react-native
更好的是,因为基于Web技术,开发起来能够像在浏览器里那样随时在仿真程序中查看应用运行状况,刷新一下就行,无需编译,爽吧。浏览器