初探 React Native 與環境建置

幫自己挖一個新的坑。

自我檢測

  • 我知道 React Native 跟 React 的差別
  • 我知道怎麼建立 React Native 的開發環境
  • 我知道怎麼操作 Android 和 IOS 的虛擬機
  • 我知道 Expo 跟 React CLI 的差別是什麼
  • 我知道 React Native 其實就是在寫 Native(且知道原理)

什麼是 React Native

跟 React 一樣是個從 Facebook 開源出來的框架,但 React 是針對「Web」,React Native 則是針對「App」為主。

簡單來說,React Native 就是讓你用「很像在寫 React」的方式來寫 App,只要你對 React 有一定程度的理解,要上手這個東西就不需要很大的學習成本。

Expo 與 React Native CLI

在建立 React Native 的開發環境時,會面臨兩個選擇:

  • React Native CLI
  • Expo CLI

這兩者最大的差別在於「前者會需要碰原生的 Code,而後者只有純粹的 JavaScript」。

所以優劣勢也很明顯,碰原生的 Code 意味者你能做更多的事情(畢竟是直接用原生來寫),像是直接跟 Native API 溝通之類的,但如果是 Expo 這種幫你包裝好的框架,你只能用它提供給你的東西來做事情,所以就會被侷限在一個範圍內。

如果妳是像我這種第一次入門的人,可以先選擇 Expo 來當作練習。等之後摸熟後想做更多事情時,再跳去 React Native CLI 應該也是 OK 的。

環境建置

安裝 Expo:

1
sudo npm install -g expo-cli

安裝 Android Studio(虛擬機)

官方載點

安裝完以後,首先確認「SDK Platforms」和「SDK Tools」是否有安裝正確:

  1. 打開 Android Studio
  2. 選擇首頁下方的「More Actions」,點選「SDK Manager」
  3. SDK Platforms 應該會顯示最新版本的 API 項目被打勾,SDK Tools 則會顯示「Android Emulator」、「Android SDK Platform-Tools」和「Inter x86 Emulator Accelerator」被打勾。

如果有沒打勾的部分,就把他勾起來重新安裝就好。

接下來是 Mac 的部分要再設定環境變數,這部分請直接參考 Expo 官方文件,基本上只要複製貼上就好了。

接著要來建立「虛擬機」,這時會要你選擇「機種」跟「作業系統」。如果沒特別偏好的話,基本上選新的版本跟機型就好,不要在這邊選擇障礙太久!

安裝 Xcode(虛擬機)

去 App stote 下載,打開 Xcode 後設定 preferences:location > Command Line Tools 選取最新的 Xcode 版本。

接著就可以打開模擬器了:Open Developer Tool > Simulator

如果要改機型的話,切到虛擬機的視窗:File open simulator 就有跳出很多選項了。

在虛擬機上打開 developer menu 的方法

  • Command + M 可以在 Andriod 打開 Devtool
  • Command + D 可以在 IOS 打開 Devtool
  • 實體手機的話請「搖晃幾下」,他就會自己彈出來了。

推薦裝的 vs code 套件

只是個補充,如果你有需要的話可以參考以下幾個:

  • React Native Tools
  • React Native/React/Redux Snippet

開啟專案

以上都建立好以後,只要透過 Terminal 執行:

1
npm start # expo start

就會跳出 expo 的訊息跟主控台,裡面告訴你要怎麼跟 Android 和 IOS 做連結,照著做就沒問題了。

順道一提,如果你是用「實體手機」來跟專案做連結的話,請務必記得先安裝 Expo Go,並確保手機跟電腦「連的是同一個網路」,不然的話就會失敗。(這個跟內網 / 外網的概念有關)

以上就是基本的環境建置,希望接下來的時間我可以跟 React Native 慢慢混熟 ~

參考資源

React Native 中的 Component 與 API Ant Design-Menu
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×