盡管在移動開發(fā)中,原生App的開發(fā)成本很高,但現(xiàn)階段基于原生開發(fā)仍然是必須的,因為Web的用戶體驗仍無法超越Native,主要體現(xiàn)在:
Native的原生控件有更好的體驗;
Native有更好的手勢識別;
Native有更合適的線程模型,盡管Web Worker可以解決一部分問題,但如圖像解碼、文本渲染仍無法多線程渲染,這影響了Web的流暢性。
** ****一、開篇**
React Native于F8大會開源,在短短不到一年的時間里,它成為手機端必不可少的開發(fā)模式之一。 它充分利用了Facebook現(xiàn)有的業(yè)務(wù)輪子, 其核心設(shè)計理念:既擁有****Native****的用戶體驗、又保留****React****的開發(fā)效率。
目前,React Native基本完成了對多端的支持,實現(xiàn)了真正意義上的面向配置開發(fā): 開發(fā)者可以靈活的使用HTML和CSS布局,使用React語法構(gòu)建組件,實現(xiàn):H5, Android, iOS 多端代碼的復(fù)用。
此外,使用流暢度和原生的保持在同一層次,這不是我們夢寐以求的開發(fā)模式嗎?讓我們從無到有開啟新的學(xué)習(xí)篇章吧!
二、什么是****React Native****?
(一)時下兩大移動互聯(lián)網(wǎng)主流技術(shù)
BAT等一線互聯(lián)網(wǎng)公司的插件化,熱修改等技術(shù)
React Native技術(shù)(2016****年,隨著****Android****版本的穩(wěn)定,更加火爆)
(二)****React Native****介紹
Facebook于2015年9月15日發(fā)布React Native
廣大開發(fā)者可以使用JavaScript和React開發(fā)跨平臺移動應(yīng)用
React Native提倡組件化開發(fā): 即提供一個個封裝好的組件,組件相互嵌套形成新的組件
(三)****React Native****的優(yōu)勢
** 3.1 ****跨平臺開發(fā)**
運用React Native,我們可以使用同一份業(yè)務(wù)邏輯核心代碼來創(chuàng)建原生應(yīng)用運行在Web端,Android端和iOS端;
** 3.2** 追求極致的用戶體驗:****實時熱部署**** **
** 3.3 ****learn once,write everywhere (最具魅力)
React Native不強求一份原生代碼支持多個平臺,所以不提“Write once, run anywhere”(Java),提出了“Learn once, write anywhere”。
(四)****React Native****開發(fā)注意事項
4.1) 目前react native在iOS上僅支持ios7以上,Android僅支持Android4.1以上版本;
github地址: https://github.com/facebook/react-native
官網(wǎng)文檔: http://facebook.github.io/react-native/docs/getting-started.html
4.2) 由于React Native的版本更新速度很快,如果沒有深厚的JavaScript基礎(chǔ),建議選擇:
a****、功能適中,交互一般,不需要特別多的系統(tǒng)原生支持;
** b****、對于部分復(fù)雜的應(yīng)用,可以考慮原生****+React Native****混合開發(fā)**