React NativeはJavaScriptでiOS/Androidアプリを開発するためのフレームワークです。
Facebook社のJavaScriptライブラリであるReactを基礎としています。
基本的にはJavaScriptで書くことができますので、ワンソースでiOSアプリとAndroidアプリを同時に開発できるのが大きな利点です。
JavaScriptでマルチプラットフォームというと、WebViewアプリであったりハイブリッドアプリを思い浮かべたりしますが、ReactNativeではWebView上でアプリを動かすというわけではありません。
JavaやSwiftで開発したものにかなり近いものを開発することができます(もちろん限界もありますが)。
The React Native CLI
create-react-native-appを使ってお手軽に開発をスタートさせることができますが、ここではより広範な開発をできるReact Native CLIを使った方法を紹介します。
なお、紹介するのはMac環境での手順となります。
インストール
1. HomeBrew
をインストール(もししてなかったら)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. node
をインストール
brew install node
3. watchman
をインストール
開発時のコード変更を監視するのに使います。コード修正を素早くデバッグ中のアプリに反映させたりするのに使います。
brew install watchman
4. react-native-cli
をインストール
npm install -g react-native-cli
どこでも使えるようにグローバルに置いときます。
インストールはsudo
が必要かもしれません。
プロジェクト作成
react-native init HogeProject
このコマンドで以下のようなファイル郡が生成されます。
. ├── App.js ├── __tests__ │ └── App.js ├── android │ ├── app │ ├── build.gradle │ ├── gradle │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ └── settings.gradle ├── app.json ├── index.js ├── ios │ ├── HogeProject │ ├── HogeProject-tvOS │ ├── HogeProject-tvOSTests │ ├── HogeProject.xcodeproj │ └── HogeProjectTests ├── node_modules │ ├── ... ├── package-lock.json └── package.json
/android
と/ios
ディレクトリ内には各プラットフォーム用の雛形が作成されます。
index.js
がReactのコードになります。
node_modules
にはJavaScriptの依存パッケージが入っています。
起動してみる
iOS
事前準備
- Xcodeのインストール
- Command Line Toolsのインストール
起動
以下のコマンドを実行します。
react-native run-ios
ビルドが成功すると、このようにシミュレータが起動します。
Android
事前準備
- Java Development Kit(JDK)のインストール
JDK 8をDLしてインストールします。JDK 9だとビルドできないので注意してください。 - Android開発環境
Android Studio
をインストールし、Android SDK
,Android SDK Platform
,Performance (Intel ® HAXM)
,Android Virtual Device
もインストールします。
詳細は要件はこちらを参照してください。 - 環境変数の設定
React NativeのコマンドラインツールがAndroid SDKを利用するので以下の内容を$HOME/.bash_profile
に書いておきます。
export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools
source $HOME/.bash_profile
で設定を読み込んでください。
起動
リアル端末をMacに接続、あるいはエミュレーターを立ち上げた状態で(エミュレーターの詳細はこちらを見て下さい)、以下のコマンドを実行します。
react-native run-android
ビルドに成功すると端末は以下のような画面になります。
まとめ
今回はreact-native
コマンドでのプロジェクト作成とビルド方法を紹介しました。
個人でアプリを作ろうと思ったのですが、その時にiOSとAndroidの両方を一人で書くのはツライなあと感じて興味をもったのがReact Nativeでした。
私も勉強中ですが、今後もその中で得られたことを紹介していければと思います。