【React Native開發(fā)】React Native 環(huán)境配置以及第一個(gè)實(shí)例

(一)前言

FaceBook早期開源發(fā)布了React Native For IOS,終于在2015年9月15日也發(fā)布了React Native for Android,雖然Android版本的項(xiàng)目發(fā)布比較遲贺辰,但是也沒有阻擋了廣大開發(fā)者的熱情。可以這樣講在2015年移動(dòng)平臺(tái)市場(chǎng)上有兩個(gè)方向技術(shù)研究比較火展箱,第一種為阿里退疫,百度验游,騰訊苫幢,攜程职员,360等一線互聯(lián)網(wǎng)公司的插件化,熱修改等技術(shù)赊琳,第二種就是廣大開發(fā)者一直在討論的React Native技術(shù)街夭。前幾天同我在美國的童鞋了解到,在國外現(xiàn)在很多創(chuàng)業(yè)型互聯(lián)網(wǎng)公司都在使用React Native技術(shù)躏筏,由此可以看出該項(xiàng)技術(shù)的前景還是不錯(cuò)的板丽。我在這邊我自己就大膽預(yù)測(cè)一下吧(呵呵,勿噴哦~):2016年將是React Native大力發(fā)展的一年。所以對(duì)于我自己來而言趁尼,2016年的主要技術(shù)方向,React Native是占了主角了埃碱。


(二)React Native介紹

React Native For Android是偉大的互聯(lián)網(wǎng)公司Facebook與2015年9月15日發(fā)布的,該可以讓我們廣大開發(fā)者使用JavaScript和React開發(fā)我們的應(yīng)用酥泞,該提倡組件化開發(fā)砚殿,也就是說React Native給我們提供一個(gè)個(gè)封裝好的組件讓開發(fā)者來進(jìn)行使用,甚至我們可以相關(guān)嵌套形成新的組件芝囤。使用React Native我們可以維護(hù)多種平臺(tái)(Web,Android和IOS)的同一份業(yè)務(wù)邏輯核心代碼來創(chuàng)建原生應(yīng)用∷蒲祝現(xiàn)階段Web APP的的體驗(yàn)還是無法達(dá)到Native APP的體驗(yàn),所以這邊f(xié)ackbook更加強(qiáng)調(diào)的是learn once,write everywhere凡人,應(yīng)用前端我們使用js和React來開發(fā)不同平臺(tái)的UI名党,下層核心模塊編寫復(fù)用的業(yè)務(wù)邏輯代碼,提供應(yīng)用開發(fā)效率挠轴。

React Native項(xiàng)目github地址:GitHub - facebook/react-native: A framework for building native apps with React.?

React Native項(xiàng)目官網(wǎng)文檔:Getting Started – React Native?


(三)React Native 配置安裝

特別聲明:facebook官網(wǎng)說當(dāng)前react native歡迎是需要OS X,不過我也看到了有人通過windows系統(tǒng)配置該環(huán)境哈~大家有興趣可以百度搜索一下传睹。

3.1.Homebrew安裝

Homebrew是OS X不可獲取的套件管理器,我們可以通過它獲取并且安裝很多組件,安裝方式如下: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 然后通過命令行執(zhí)行brew -v進(jìn)行檢查brew是否已經(jīng)安裝成功岸晦。整體截圖如下:

Homebrew安裝.jpg

3.2.Node.js安裝,我們需要安裝Node.js 4.0或者更高版本,這邊推薦采用Node管理器nvm來進(jìn)行安裝,nvm項(xiàng)目地址:GitHub - creationix/nvm: Node Version Manager - Simple bash script to manage multiple active node.js versions?

第一部分:安裝nvm欧啤,查看項(xiàng)目官網(wǎng)官方推送curl或者wget方式安裝或者更新nvm:

第一種:curl方式:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

第二種:wget方式:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

不過在使用這兩種方式之前,我們可以采用brew install curl或者brew install wget來確保已經(jīng)安裝curl或者wget启上。我這邊采用了第一種方式安裝邢隧,具體安裝截圖如下:

2.jpg

這樣我們已經(jīng)安裝了nvm,但是最好我們配置一下環(huán)境變量到.bash_profile文件中冈在,具體配置如下:

3.jpg

最終我們通過命令行執(zhí)行nvm? --version檢查一下nvm是否已經(jīng)安裝成功倒慧。

第二部分:安裝Node.js,根據(jù)官網(wǎng)文檔我們直接命令行執(zhí)行如下命令即可完成完成:

nvm install node && nvm alias default node


4.jpg

該會(huì)進(jìn)行安裝Node.js最新版本包券,并且會(huì)給我們打個(gè)別名纫谅,方便使用。通過nvm我們可以安裝多個(gè)版本的Node.js溅固,并且可以非常輕松的選擇不同的版本進(jìn)行切換使用付秕。

【注意】如果現(xiàn)在采用是Node5.0版本的版本,官網(wǎng)是推薦安裝npm 2侍郭,該版本比npm 3速度更加快询吴。在安裝完Node之后掠河,命令行運(yùn)行npm install? -g npm@2安裝即可。

第三部分:安裝watchmam猛计,該用于監(jiān)控bug文件唠摹,并且可以觸發(fā)指定的操作,安裝方式如下:

brew install watchman

安裝截圖如下:


5.jpg

第四部分:安裝flow,flow是一個(gè) JavaScript 的靜態(tài)類型檢查器有滑,建議安裝它跃闹,以方便找出代碼中可能存在的類型錯(cuò)誤,官網(wǎng):Flow?

安裝截圖如下:

6.jpg

3.3.原生開發(fā)環(huán)境安裝:

針對(duì)iOS開發(fā)毛好,我們只需要安裝Xcode 7.0或者7.0以后版本望艺,該可以通過App Store進(jìn)行下載安裝

針對(duì)Android開發(fā),Android環(huán)境配置網(wǎng)上非常多了肌访,我相應(yīng)看這篇文章的朋友電腦上面基本都有Android開發(fā)環(huán)境的了~針對(duì)安裝詳細(xì)<(點(diǎn)擊進(jìn)入?yún)⒖嘉恼?>

3.4.React Native安裝

現(xiàn)在就是最后一步找默,也是最激動(dòng)人心的時(shí)刻到了,我們使用命令行運(yùn)行如下命令安裝React Native:

npm install -g react-native-cli

安裝截圖如下:

7.

經(jīng)過以上的四個(gè)大步驟我們基本完成React Native從基本環(huán)境的搭建工作吼驶,下面我們來進(jìn)行一個(gè)實(shí)例演示React Native項(xiàng)目的效果惩激。

(四)React Native第一個(gè)應(yīng)用(AwesomeProject)

經(jīng)過以上的四個(gè)大步驟我們基本完成React Native從基本環(huán)境的搭建工作,下面我們來進(jìn)行一個(gè)實(shí)例演示React Native項(xiàng)目的效果蟹演。React Native第一個(gè)AwesomeProject风钻,就不是HelloWorld啦。

首先執(zhí)行如下命令,生成一個(gè)工程:

react-native init AwesomeProject

運(yùn)行截圖如下:

8.jpg

目錄結(jié)構(gòu)如下:

9.jpg

我們仔細(xì)看上面的目錄酒请,會(huì)發(fā)現(xiàn)該該生成android和ios兩個(gè)平臺(tái)的原生項(xiàng)目骡技,大家有興趣可以打開android和ios目錄看一下,里邊就是一個(gè)Android? Studio和Xcode創(chuàng)建的項(xiàng)目羞反。其中index.android.js和index.ios.js文件為Android和IOS的空殼應(yīng)用文件布朦。另外還有一個(gè)node_modules文件夾,該為Node.js存放和管理npm包得昼窗,也包含React Native框架文件是趴。

查看項(xiàng)目部分代碼:index.android.js如下:

10.jpg

4.1.運(yùn)行iOS 應(yīng)用:

①.命令行執(zhí)行cd AwesomeProject,路徑切換到項(xiàng)目主目錄

②.點(diǎn)擊ios/AwesomeProkect.xcodeproj進(jìn)行運(yùn)行Xocde

③.使用編輯器進(jìn)行打開index.ios.js進(jìn)行相關(guān)修改,然后運(yùn)行應(yīng)用即可澄惊。

4.2.運(yùn)行Android應(yīng)用:

①.命令行執(zhí)行cd AwesomeProject,路徑切換到項(xiàng)目主目錄

②.命令行執(zhí)行react-native run-android進(jìn)行加載運(yùn)行android 應(yīng)用唆途。

③.同樣可以使用編輯器進(jìn)行打開和修改index.android.js文件,接著通過菜單按鈕選擇Reload JS來進(jìn)行刷新修改

運(yùn)行截圖如下:

11.jpg
12.jpg

這些步驟掸驱,命令執(zhí)行完之后窘哈,那么我們第一個(gè)應(yīng)用也完美運(yùn)行啦,具體看如下效果亭敢!

14.jpg

(五)已存在React Native項(xiàng)目添加Android版本

因?yàn)镽eact Native的Android版本的發(fā)布要晚于iOS版本,所以有很多接觸React Native比較早的應(yīng)用可能只有iOS版本图筹,我們可以進(jìn)行如下的操作帅刀,給添加Android版本:

①.修改package.json文件來更新react-native到最新版本

②.運(yùn)行npm install命令

③.最后執(zhí)行以下react-native android命令即可

(六)最后總結(jié)

今天我們從初始開始让腹,安裝各種工具以及命令,完成了React Native的基礎(chǔ)環(huán)境的搭建扣溺,并且成功運(yùn)行第一個(gè)React Native for Android的應(yīng)用骇窍。下一篇我們對(duì)推薦IDE(Atom)以及相關(guān)插件的安裝配置講解。敬請(qǐng)期待~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锥余,一起剝皮案震驚了整個(gè)濱河市腹纳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌驱犹,老刑警劉巖嘲恍,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雄驹,居然都是意外死亡佃牛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門医舆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俘侠,“玉大人,你說我怎么就攤上這事蔬将∫伲” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵霞怀,是天一觀的道長(zhǎng)惫东。 經(jīng)常有香客問我,道長(zhǎng)里烦,這世上最難降的妖魔是什么凿蒜? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮胁黑,結(jié)果婚禮上废封,老公的妹妹穿的比我還像新娘。我一直安慰自己丧蘸,他們只是感情好漂洋,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著力喷,像睡著了一般刽漂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弟孟,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天贝咙,我揣著相機(jī)與錄音,去河邊找鬼拂募。 笑死庭猩,一個(gè)胖子當(dāng)著我的面吹牛窟她,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蔼水,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼震糖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了趴腋?” 一聲冷哼從身側(cè)響起吊说,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎优炬,沒想到半個(gè)月后颁井,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡穿剖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年蚤蔓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糊余。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秀又,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贬芥,到底是詐尸還是另有隱情吐辙,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布蘸劈,位于F島的核電站昏苏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏威沫。R本人自食惡果不足惜贤惯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棒掠。 院中可真熱鬧孵构,春花似錦、人聲如沸烟很。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雾袱。三九已至恤筛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芹橡,已是汗流浹背毒坛。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留林说,地道東北人粘驰。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓屡谐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親蝌数。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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