標籤:
ReactNative 可以基於目前大熱的開源JavaScript庫React.js來開發iOS和Android原生App(app開發公司ty300.com)。而且React Native已經用於生產環境——Facebook Groups iOS 應用就是基於它開發的。
React Native的原理是在JavaScript中用React抽象作業系統原生的UI組件(入門教程qkxue.net),代替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)構建的行動裝置 App經常被抱怨缺乏及時響應。而基於原生UI的React Native能避免這些問題從而實現即時響應。
原生組件:使用HTML5/JavaScript實現的組件比起原生組件總是讓人感覺差一截,而React Native由於採用了原生UI組件自然沒有此問題。
樣式和布局:iOS、Android和基於Web的應用各自有不同的樣式和布局機制。React Native通過一個基於FlexBox的布局引擎在所有移動平台上實現了一致的跨平台樣式和布局方案。
React Native 教程