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技術,開發起來能夠像在瀏覽器裏那樣隨時在仿真程序中查看應用運行狀況,刷新一下就行,無需編譯,爽吧。瀏覽器