一、React Native簡(jiǎn)介
由Facebook推出,基于JavaScript框架和React庫來提高多平臺(tái)開發(fā)效率的一門語言。其核心思想是:Learn once, write anywhere.
目前react native在iOS上僅支持ios8.0以上,Android僅支持Android4.1以上。
性能:內(nèi)存和cpu介于原生和混合開發(fā)(Hybird)之間。
語言:React、JSX語法。
二、環(huán)境搭建和應(yīng)用運(yùn)行
- 1、windows搭建Android開發(fā)環(huán)境
下載安裝Node.js
安裝React Native命令行工具:npm install -g react-native-cli
安裝Java JDK和 Android SDK
安裝Android Studio(輔助原生開發(fā)部分)
安裝WebStorm(JavaScript)
- 2、Mac搭建Android和ios環(huán)境
安裝node.js: brew install node
安裝watchman: brew install watchman
安裝React Native命令行工具:npm install -g react-native-cli
安裝ios開發(fā)工具Xcode和Xcode命令行工具
安裝WebStorm(JavaScript)
- 3、設(shè)置國(guó)內(nèi)鏡像服務(wù)器
查看鏡像源
npmconfig get registry更換為taobao源
npmconfig set registry https://registry.npm.taobao.org --global
npmconfig set disturl https://npm.taobao.org/dist --global更換為官方鏡像源
npmconfig set registry https://registry.npmjs.org/
- 4、創(chuàng)建react-native工程:
react-native init AwesomeProject
- 5、安裝第三方組件或依賴庫
npm install命令
- 6、調(diào)試
調(diào)試:手機(jī)搖一搖/menu鍵,Chrom瀏覽器里打斷點(diǎn)/看日志
- 7、運(yùn)行原理
RN會(huì)把應(yīng)用的JS代碼(包括依賴的framework)編譯成一個(gè)js文件(一般命名為index.android.bundle或index.ios.js),
RN的整體框架目標(biāo)就是為了解釋運(yùn)行這個(gè)js腳本文件,如果是js擴(kuò)展的API,則直接通過bridge橋接文件調(diào)用native方法;
如果是UI界面,則映射到virtual DOM這個(gè)虛擬的JS數(shù)據(jù)結(jié)構(gòu)中,通過bridge傳遞到native,然后根據(jù)數(shù)據(jù)屬性設(shè)置各個(gè)
對(duì)應(yīng)的真實(shí)native的View;
- 8、運(yùn)行命令
開啟react nativ的包管理器:npm start
android: react-native run-android
ios: react-native run-ios
- 9、手動(dòng)生成index.js
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.bundle --assets-dest android/app/src/main/assets/
- 10、調(diào)起開發(fā)者菜單:
adb shell input keyevent 82
停止node進(jìn)程taskkill /f /t /im node.exe
打包apk:gradlew assembleRelease
三、 注意事項(xiàng)
版本選定之后就不要修改
Node.js版本
react-native-cli版本和React Native版本