本文內(nèi)容為React Native的特點和缺點恋追。
React Native,簡稱為RN,是一種通過使用React框架跨平臺開發(fā)原生移動應(yīng)用的開源技術(shù)框架印颤,由Facebook公司于2015年3月26日對外正式發(fā)布放祟。
設(shè)計理念
使用React Native開發(fā)郊艘,既擁有了Native的良好人機(jī)交互體驗僚祷,又保留了React框架的開發(fā)效率杂抽。
開發(fā)特點
-
一次學(xué)習(xí)近顷,隨機(jī)編寫
使用React native可以為Android和ios這兩個操作系統(tǒng)開發(fā)應(yīng)用程序生音,只要根據(jù)不同的平臺進(jìn)行相應(yīng)的代碼調(diào)整即可。 -
混合開發(fā)
React Native允許開發(fā)者在React Native擅長的領(lǐng)域使用React Native開發(fā)窒升,在React Native不方便的領(lǐng)域或已有原生代碼實現(xiàn)好的的領(lǐng)域直接是用原生代碼缀遍,兩者之間可以雙向通信、無縫銜接饱须。
混合開發(fā)分為:
- 通用的UI界面與業(yè)務(wù)邏輯由React Native開發(fā)域醇,但與手機(jī)平臺緊密關(guān)聯(lián)的處理由原生代碼來執(zhí)行。
- 將原來使用原生代碼實現(xiàn)的UI小部件包裝城React Nactive的自定義組件蓉媳。
- 應(yīng)用界面在React Native開發(fā)的界面與原生代碼開發(fā)的界面之間切換譬挚。
-
高效的移動應(yīng)用開發(fā)
使用RN開發(fā)移動應(yīng)用,絕大部分UI界面與業(yè)務(wù)邏輯是一套代碼酪呻,UI界面的開發(fā)要比原生開發(fā)快捷高效减宣,業(yè)務(wù)邏輯的處理效率與原生代碼相仿。與兩個平臺的不同語言開發(fā)的應(yīng)用相比玩荠,能夠節(jié)約更多的時間或者減少更多的工作量漆腌。還有一個特點是自動匹配不同屏幕大小的手機(jī)。 -
高效的開發(fā)調(diào)試
使用RN開發(fā)阶冈,修改代碼后可立刻在手機(jī)上看到效果闷尿,省去了重新編譯啟動等所花費的時間。還可以打開一個Chrome窗口女坑,所有代碼移動到Chrome里面運行填具,斷點調(diào)試、單步測試等常用的調(diào)試方法都可以操作匆骗。 -
熱更新
這種熱更新是蘋果允許的劳景。 -
降低安裝包體積
應(yīng)用功能越復(fù)雜,RN安裝包相比原生代碼安裝包就越小碉就。 -
學(xué)習(xí)枢泰、開發(fā)難度低
開發(fā)語言簡單:使用ECMAScript2015語言,簡稱為ES6铝噩,以及自創(chuàng)JSX語言來進(jìn)行開發(fā)衡蚂。 - 缺點
- 內(nèi)存消耗大窿克。
- 運行速度相比原生略慢
- 核心功能可以通過原生代碼開發(fā),彌補這個缺陷毛甲。