React Native v0.4 發佈,自從 React Native 開源以來,包括超過 12.5k stars,1000 commits,500 issues,380 pull requests 和 100 貢獻者,還有 35 款插件 和 1 個 AppStore 應用!html
直擊現場 node
此版本主要改進以下:react
錯誤信息和文檔:添加了大量的警告信息,更新了文檔,修復了大量的 bugios
兼容 NPM 模塊:大量的庫是依賴於 NPM,而不是 node/browser 內部git
基礎設施:重構了 React Native 的內部,更容易插入到現有的 iOS 庫,提高了系統的性能,減小啓動時間github
組件:提供大量 UI 組件和 APIs react-native
測試:移植 JavaScript 測試,iOS 快照測試,End to End 測試到 Travis CI瀏覽器
Patent Grantapp
Per commit historyasync
更多內容請看發行說明。
ReactNative 能夠基於目前大熱的開源JavaScript庫React.js來開發iOS和Android原生App。並且React Native已經用於生產環境——Facebook Groups iOS 應用就是基於它開發的。
React Native的原理是在JavaScript中用React抽象操做系統原生的UI組件,代替DOM元素來渲染,好比以<View>取代<div>,以<Image>替代<img>等。
在幕後,React Native在主線程以外,在另外一個背景線程裏運行JavaScript引擎,兩個線程之間經過一批量化的async消息協議來通訊(有一個專門的React插件)。
UI方面React Native提供跨平臺的相似Flexbox的佈局系統,還支持CSS子集。能夠用JSX或者普通JavaScript語言,還有CoffeeScript和TypeScript來開發。有評論說,React的UI層模型要比UIKit好不少。
更好的是,因爲基於Web技術,開發起來能夠像在瀏覽器裏那樣隨時在仿真程序中查看應用運行狀況,刷新一下就行,無需編譯,爽吧。
React Native比起標準Web開發或原生開發可以帶來的三大好處:
手勢識別:基於Web技術(HTML5/JavaScript)構建的移動應用常常被抱怨缺少及時響應。而基於原生UI的React Native能避免這些問題從而實現實時響應。
原生組件:使用HTML5/JavaScript實現的組件比起原生組件老是讓人感受差一截,而React Native因爲採用了原生UI組件天然沒有此問題。
樣式和佈局:iOS、Android和基於Web的應用各自有不一樣的樣式和佈局機制。React Native經過一個基於FlexBox的佈局引擎在全部移動平臺上實現了一致的跨平臺樣式和佈局方案。