React Native 環境安裝

React Native 是由 Facebook 推出,用 JavaScript 建立原生 iOS 及 Android App的一種框架。

與 Phonegap、Cordova 不同的是,Phonegap、Cordova 是將 Webview (手機瀏覽器的元件)封裝成 App,讓使用者感覺上是在操作App,而不是使用瀏覽器,所以開發者可以用 Javascript/CSS3/HTML5 等網頁的技術來製作 Web UI 並在手機上執行,原則上可以跨平台而不必重寫程式碼。

React Native 則是主張只需學習一次,就在不同的平台上實作,換句話說,React Native 希望開發者僅使用 Javascript ,就可以在 iOS、Android平台開發出原生的 App,以便享有原生 App 的執行速度與特殊功能。



因為上述的優點,所以讓我想一試 React Native 的開發,當然第一步要先將開發環境建置完成,作業系統是windows 7 ,我的做法記錄如下(試了好久才成功將demo畫面顯示出來):

1、安裝 Chocolatey
Chocolatey是給 Windows 使用的套件管理系統,就像 Linux 上的 yum 與 apt 。
因為要以系統管理員的身份執行cmd.exe,所以進到 C:\Windows\System32的資料夾內



在 cmd.exe 按右鍵,點選「以系統管理員身分執行」




開啟 CMD 之後,輸入下列的指令(非多行指令,只有一行)下載並安裝 Chocolatey
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
(官網安裝手冊:https://chocolatey.org/install
2、安裝 Node.js 與 python2
分別輸入下列的指令:
C:\ choco install nodejs.install
C:\ choco install python2
3、安裝 React Native
安裝完 Node.js 後,就可以利用 npm 來安裝 React Native
C:\ npm install –g react-native-cli
4、下載並安裝 Android SDK
下載網址:https://developer.android.com/studio/index.html


因為我沒有要安裝Android Stuido這個開發工具,所以我下載的是Command line tool版本


解開 Android SDK 後,到SDK 的目錄下,點選 SDK Manager.exe


開啟SDK Manager,選擇「Tools」下面四個選項,以及「Android 6.0(API 23)」選項





還有「Extras」底下的「Android Support Repostiory」




6、安裝Java SE Development Kit(JDK) 下載
我的電腦已經安裝過了,所以不必再重裝一次。
Java 下載網址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

7、設定 Windows 環境變數
React Native 需要設定 ANDROID_HOME 的環境變數,到「控制台」-> 「系統及安全性」 –> 「系統」 –> 「進階系統設定」 –> 「進階),點選「環境變數」

新增變數 ANDROID_HOME 並指定值為 Android SDK 解壓後的路徑



8、開啟 Android 模擬器,我是安裝 Genymotion 的 Android 模擬器,也可以用 Andriod SDK 內的模擬器。
Genymotion 官方網站:https://www.genymotion.com/




執行 AVD Manager.exe 可以建立並開啟 Android SDK 的模擬器




9、測試 React Native

新增一個測試專案,test01
C:\ react-native init test01

React Native 會開始在新增的 test01 目錄下建置iOS、Android相關的程式及檔案,完成之後進入 test01 的資料夾
C:\ cd test01

編譯 App 並讓 App 上傳到模擬器上執行
C:\ react-native run-android

如果沒有其他的錯誤(紅字出現)在 Genymotion 模擬器上就可以看到 App 執行的結果