JavaScript
Xcode
環境構築
勉強会
reactnative

【ReactNative】環境構築(macユーザ向け)


前提

この記事の主な位置付けはReactNative勉強会に参加する方々が、勉強会にてスムーズにもくもくできるように事前準備資料です。

ただ、もちろんReactNativeの環境構築をしたいどなたが見ても意味のあるように書いていますので、ご参考にしてくださると幸いです。


公式と少し違くない?って思った人へ

公式サイトでは、Expoを使うための環境構築について解説されています。

個人的にExpoはすごく便利で好きですが、Expoを使わない開発ケースをよく拝見するので、今回の記事ではReactNativeを素のまま使うことを前提としています。


React Nativeとは

JavaScriptでモバイルアプリを開発できるフレームワークです。

MonacaIonicなどのハイブリッドアプリと違い、ネイティブアプリのUI Component使って描画するので、UXはネイティブアプリのそれと変わりません。

※ハイブリッドアプリはWebViewという機能を使って画面を描画するので、いわゆるサクサク・ニュルニュルした動きは実現できません。


環境構築手順


  1. HomeBrewをインストール

  2. Xcodeをインストール

  3. Node.jsをインストール

  4. Watchmanをインストール

  5. react-native-cliをインストール

※iOSアプリの開発がメインな前提です。Androidアプリも作りたい方はAndroidStudioのインストールも必要です。


1.HomeBewをインストール

公式サイト

Mac用のパッケージマネジメントツールです。これ一本で大抵のパッケージをインストール・管理できるので開発者なら大体入れておいてると思います。

公式にある通り、

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

とするとインストールできます。


2. Xcodeをインストール

iOSアプリ開発の統合開発環境です。iOSアプリを開発するのには必須になります。

App Storeからインストールできます。


3. Node.jsをインストール

公式サイト

JavaScriptをサーバサイドで動かすための環境です。API開発にもメジャーに使われています。

先ほどインストールしたhomebrewを使ってインストールします。

brew install node

※nodeと共に、npmコマンドも使用できるようになります。


4. Watchmanをインストール

公式サイト

ファイル監視ツールです。ファイル内容の変更(つまりソースを書いたり)などを感知して何かしらのアクションをトリガー(実行)できます。

brew install watchman

でインストールできます。

watchmanに関しては意識して使うことはほぼないです。ReactNativeの実行と共に動いて、色んなことをよしなにしてくれます。


5. react-native-cliをインストール

cli = command line interface

です。

公式サイトではないですが、このページで公式が詳しく解説しています。

先ほどNode.jsをインストールしているので、npmコマンドが使えるはずです。

npm install -g react-native-cli

でインストールできます。

以上で、環境構築は完了です!

わからないこと等あったら

https://twitter.com/kangyoosam

までメンション・DMするか、勉強会に来てくだされば答えます!


【追記】手始めにプロジェクトを作ってみよう


アプリ作成

react-native init hogeapp

と打つと、hogeappというアプリを作成できます(アプリ名はもちろん後で変えられます)


Simulatorで起動

Xcodeをインストールした際に、Simulatorという、Mac上で動くiPhoneやiPadの仮想環境のようなものがインストールされています。

react-native run-ios

とすると、

こんな感じでSimulatorが立ち上がります。

ソースコードを変更してCmd + Rするとリロードされて変更が反映されるかと思います。


実際に本番で動いてるコードを見てみたいという方へ

CodePicksというアプリをオープンソースで公開しています。現状大したことないアプリですが、よく使う技術(ルーティング・状態管理など)は大体踏襲しているので、初心者にとっては動かしてソースを眺めるだけで参考になるかと思います。

勉強会等で少しずつ改善していく予定です。

CodePicksについてはこちらに書いているのでご参考になれば幸いです。


参考

もう少しいじってみたいという方はこの辺の記事が参考になるかと思います。