[React-Native]React-Native for Android(一):開發(fā)環(huán)境搭建

前言

React-Native是互聯(lián)網(wǎng)巨頭之一的Facebook開發(fā)的一套多平臺(tái)開發(fā)解決方案∫蚩椋可以讓我們使用JavaScript和React開發(fā)移動(dòng)端應(yīng)用。倡導(dǎo)組件化開發(fā)理念,即在RN中任一個(gè)功能或者一個(gè)UI模塊都可以做為一個(gè)組件翘地,我們可以使用其封裝好的組件,也可以通過嵌套形成新的組件癌幕。RN著重于讓開發(fā)者提高多平臺(tái)的開發(fā)效率衙耕,即Learn once,write everywhere的思想。
React-Native 經(jīng)過Facebook將近三年的開發(fā)演進(jìn)勺远,在寫本文時(shí)最新的版本已經(jīng)演進(jìn)到0.52版本橙喘,在github上已經(jīng)有0.53的pre release狀態(tài)。

React-Native的特點(diǎn)

  • Learn once胶逢,Write everywhere
    • 即只需要學(xué)習(xí)React-Native一種開發(fā)方式厅瞎,就可以開發(fā)多個(gè)不同平臺(tái)的App饰潜,而且RN的大多數(shù)組件也是可以在不同的平臺(tái)復(fù)用的,可以大大的降低了開發(fā)成本磁奖。
  • JSX和FlexBox布局
    • Facebook 為了代碼的可讀性和效率囊拜,開發(fā)出了JSX語法糖,即可以在JavaScript中直接寫HTML標(biāo)簽的語法糖比搭。
    • FlexBox可以很方便地用來改善動(dòng)態(tài)或未知大小的元素的對(duì)齊冠跷,方向和順序等等。flex容器的主要特性是它可以調(diào)整其子元素的寬度或高度去填充可用的空白區(qū)身诺,以最優(yōu)的方式達(dá)到兼容不同屏幕大小蜜托。
  • 接近原生應(yīng)用的性能和體驗(yàn)
    React-Native的機(jī)制和PhoneGap和Ionic等機(jī)制完全不同,React-Native底層仍是使用原生平臺(tái)開發(fā)的霉赡,所以應(yīng)用的整體體驗(yàn)大大的高于Hybrid App菌仁。

React-Native for Android

最初的React-Native只支持iOS開發(fā)畔勤,直到2015年9月開始,React-Native同時(shí)開始支持Android開發(fā)。到現(xiàn)在RN已經(jīng)支持大部分的安卓組件近哟,并且在Android平臺(tái)已經(jīng)很成熟了。

  • React-Native for Android 開發(fā)環(huán)境搭建
    主要講解一下在Mac下的環(huán)境配置撩鹿。
    • HomeBrew安裝
      Homebrew, Mac系統(tǒng)的包管理器搅方,用于安裝NodeJS和一些其他必需的工具軟件。
      運(yùn)行命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      如果遇到EACCES: permission denied問題刺覆,運(yùn)行命令:sudo chown -R 此處填PC用戶名 /usr/local
      查看用戶名命令:whoami
    • Node.js安裝
      建議去Node.js的官網(wǎng)下載LTS版本严肪。有些文章可能會(huì)推薦通過HomeBrew安裝。但是這樣的缺點(diǎn)是brew下載的是latest version谦屑。為了穩(wěn)定性考慮還是建議使用LTS版本驳糯。當(dāng)然也可以安裝HomeBrew,再安裝homebrew-version氢橙,指定版本下載酝枢。下載安裝完成后運(yùn)行node -v查看一下是否安裝成功。
    • yarn
      Yarn是Facebook提供的替代npm的工具悍手,可以加速node模塊的下載隧枫。
      運(yùn)行命令:npm install -g yarn react-native-cli 安裝yarn以及react-native cli工具
      如果遇到EACCES: permission denied問題,運(yùn)行命令:sudo chown -R 此處填PC用戶名 /usr/local
    • JDK安裝
      Oracle官網(wǎng)下載jdk工具谓苟,按照提示安裝官脓。安裝完成后運(yùn)行 javacjava --version查看是否安裝成功。
    • AndroidStudio安裝
      Android Developer官網(wǎng)下載AS最新版涝焙。需要通過科學(xué)上網(wǎng)工具卑笨。如果沒有科學(xué)上網(wǎng)工具,可以去Android dev tool 下載仑撞。
      下載完成后赤兴,需要進(jìn)行ANDROID_HOME配置妖滔。如果你使用的是Mac原生的terminal,運(yùn)行vi ~/.bash_profile 打開bash配置文件桶良,在英文輸入法環(huán)境下按i進(jìn)入編輯模式座舍,輸入export ANDROID_HOME=~/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools,將Android sdk和adb工具配置入環(huán)境變量陨帆。按esc退出編輯模式曲秉,再輸入:wq進(jìn)行保存退出。然后通過source ~/.bash_profile使配置生效疲牵。如果使使用別的終端工具比如zsh承二,則要在~/.zshrc下進(jìn)行編輯。具體不同的終端可自行查詢資料纲爸。
    • 安裝WatchMan
      Watchman是由Facebook提供的監(jiān)視文件系統(tǒng)變更的工具亥鸠。安裝此工具可以提高開發(fā)時(shí)的性能(packager可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)。雖然此工具官方說是推薦安裝识啦,但是我還是推薦必須安裝负蚊。
    • React Developer Tools
      在開發(fā)中我們需要在Google Chrome中遠(yuǎn)程調(diào)試React-Native JS代碼,在Google Chrome瀏覽器的應(yīng)用商店中搜索React Developer Tools并安裝颓哮。此處應(yīng)使用科學(xué)上網(wǎng)工具家妆。

安裝第一個(gè)項(xiàng)目

通過以下命令安裝第一個(gè)Demo項(xiàng)目:
react-native init Demo
cd Demo
react-native run-android
當(dāng)然也可以通過--version命令指定React-Native版本號(hào):
react-native init Demo --version 0.39.2
注意必須精確到小數(shù)點(diǎn)后兩位。

修改項(xiàng)目

打開App.js并隨便改上幾行,按兩下R鍵打開開發(fā)者菜單题翻,然后選擇 Reload JS 就可以看到你的最新修改揩徊。
在終端下運(yùn)行adb logcat *:S ReactNative:V ReactNativeJS:V可以看到應(yīng)用的日志腰鬼。

至此React-Native for Android 環(huán)境配置搭建完成嵌赠,下一期我們將講解一下React-Native項(xiàng)目的開發(fā)IDE工具。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末熄赡,一起剝皮案震驚了整個(gè)濱河市姜挺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌彼硫,老刑警劉巖炊豪,帶你破解...
    沈念sama閱讀 211,496評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拧篮,居然都是意外死亡词渤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門串绩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缺虐,“玉大人,你說我怎么就攤上這事礁凡「叩” “怎么了慧妄?”我有些...
    開封第一講書人閱讀 157,091評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)剪芍。 經(jīng)常有香客問我塞淹,道長(zhǎng),這世上最難降的妖魔是什么罪裹? 我笑而不...
    開封第一講書人閱讀 56,458評(píng)論 1 283
  • 正文 為了忘掉前任饱普,我火速辦了婚禮,結(jié)果婚禮上坊谁,老公的妹妹穿的比我還像新娘费彼。我一直安慰自己,他們只是感情好口芍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評(píng)論 6 385
  • 文/花漫 我一把揭開白布箍铲。 她就那樣靜靜地躺著,像睡著了一般鬓椭。 火紅的嫁衣襯著肌膚如雪颠猴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,802評(píng)論 1 290
  • 那天小染,我揣著相機(jī)與錄音翘瓮,去河邊找鬼。 笑死裤翩,一個(gè)胖子當(dāng)著我的面吹牛资盅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踊赠,決...
    沈念sama閱讀 38,945評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼呵扛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了筐带?” 一聲冷哼從身側(cè)響起今穿,我...
    開封第一講書人閱讀 37,709評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伦籍,沒想到半個(gè)月后蓝晒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,158評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帖鸦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評(píng)論 2 327
  • 正文 我和宋清朗相戀三年芝薇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片作儿。...
    茶點(diǎn)故事閱讀 38,637評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洛二,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灭红,我是刑警寧澤侣滩,帶...
    沈念sama閱讀 34,300評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站变擒,受9級(jí)特大地震影響君珠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娇斑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評(píng)論 3 313
  • 文/蒙蒙 一策添、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毫缆,春花似錦唯竹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至旺拉,卻和暖如春产上,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛾狗。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工晋涣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沉桌。 一個(gè)月前我還...
    沈念sama閱讀 46,344評(píng)論 2 360
  • 正文 我出身青樓谢鹊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親留凭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佃扼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容