/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
ReactNative是一款專業(yè)的移動(dòng)應(yīng)用開發(fā)工具,能夠基于目前大熱的開源JavaScript庫(kù)React.js來開發(fā)iOS和Android原生App,可以通過聲明式的組件機(jī)制來搭建豐富多彩的用戶界面,有需要的用戶趕快來下載吧!
React Native的原理是在JavaScript中用React抽象操作系統(tǒng)原生的UI組件,代替DOM元素來渲染,比如以取代,以替代等。
在幕后,React Native在主線程之外,在另一個(gè)背景線程里運(yùn)行JavaScript引擎,兩個(gè)線程之間通過一批量化的async消息協(xié)議來通信(有一個(gè)專門的React插件)。
UI方面React Native提供跨平臺(tái)的類似Flexbox的布局系統(tǒng),還支持CSS子集?梢杂肑SX或者普通JavaScript語(yǔ)言,還有CoffeeScript和TypeScript來開發(fā)。有評(píng)論說,React的UI層模型要比UIKit好很多。
更好的是,由于基于Web技術(shù),開發(fā)起來可以像在瀏覽器里那樣隨時(shí)在仿真程序中查看應(yīng)用運(yùn)行情況,刷新一下就行,無(wú)需編譯,爽吧。
React Native比起標(biāo)準(zhǔn)Web開發(fā)或原生開發(fā)能夠帶來的三大好處:
1、手勢(shì)識(shí)別:基于Web技術(shù)(HTML5/JavaScript)構(gòu)建的移動(dòng)應(yīng)用經(jīng)常被抱怨缺乏及時(shí)響應(yīng)。而基于原生UI的React Native能避免這些問題從而實(shí)現(xiàn)實(shí)時(shí)響應(yīng)。
2、原生組件:使用HTML5/JavaScript實(shí)現(xiàn)的組件比起原生組件總是讓人感覺差一截,而React Native由于采用了原生UI組件自然沒有此問題。
3、樣式和布局:iOS、Android和基于Web的應(yīng)用各自有不同的樣式和布局機(jī)制。React Native通過一個(gè)基于FlexBox的布局引擎在所有移動(dòng)平臺(tái)上實(shí)現(xiàn)了一致的跨平臺(tái)樣式和布局方案。
優(yōu)點(diǎn)
復(fù)用了 React 的思想,有利于前端開發(fā)者涉足移動(dòng)端。
能夠利用 JavaScript 動(dòng)態(tài)更新的特性,快速迭代。
相比于原生平臺(tái),開發(fā)速度更快,相比于 Hybrid 框架,性能更好。
缺點(diǎn)
做不到 Write once, Run everywhere,也就是說開發(fā)者依然需要為 iOS 和 Android 平臺(tái)提供兩套不同的代碼,比如參考官方文檔可以發(fā)現(xiàn)不少組件和API都區(qū)分了 Android 和 iOS 版本。即使是共用組件,也會(huì)有平臺(tái)獨(dú)享的函數(shù)。
不能做到完全屏蔽 iOS 端或 Android 的細(xì)節(jié),前端開發(fā)者必須對(duì)原生平臺(tái)有所了解。加重了學(xué)習(xí)成本。對(duì)于移動(dòng)端開發(fā)者來說,完全不具備用 React Native 開發(fā)的能力。
由于 Objective-C 與 JavaScript 之間切換存在固定的時(shí)間開銷,所以性能必定不及原生。比如目前的官方版本無(wú)法做到 UItableview(ListView) 的視圖重用,因?yàn)榛瑒?dòng)過程中,視圖重用需要在異步線程中執(zhí)行,速度太慢。這也就導(dǎo)致隨著 Cell 數(shù)量的增加,占用的內(nèi)存也線性增加。
關(guān)于騰牛 | 聯(lián)系方式 | 發(fā)展歷程 | 版權(quán)聲明 | 下載幫助(?) | 廣告聯(lián)系 | 網(wǎng)站地圖 | 友情鏈接
Copyright 2005-2024 QQTN.com 【騰牛網(wǎng)】 版權(quán)所有 鄂ICP備2022005668號(hào)-1 | 鄂公網(wǎng)安備 42011102000260號(hào)
聲明:本站非騰訊QQ官方網(wǎng)站 所有軟件和文章來自互聯(lián)網(wǎng) 如有異議 請(qǐng)與本站聯(lián)系 本站為非贏利性網(wǎng)站 不接受任何贊助和廣告