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