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