システム開発

【Mac編】ReactNativeを使って環境構築をする方法は?【JavaScriptのコードのみでアプリ開発】

React NativeはJavaScriptのコードのみでiOSとAndroid両方のアプリを開発することができます。
JavaScriptの経験はあるが、アプリ開発の経験は無いというエンジニアにはとても便利なツールと言われています

この記事ではこれからReact Nativeを使ってアプリを開発したい方を対象に、その環境構築の手順を紹介していきます。

  • アプリ開発を行いたい方
  • JavaScriptは勉強している方
  • React Nativeの使い方を知りたい方

これらに当てはまる方におすすめの記事となっています。これを読めばReact Nativeの環境構築の方法がまるわかりですよ。

Homebrewインストール

HomebrewはMacのパッケージ管理ツールです。Homebrewを使うことでMacに簡単に必要なパッケージをインストールすることができます。

下記のコマンドを実行して最新版のHomebrewをインストールします。

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

インストールが完了したら下記コマンドを実行してインストールが出来たか確認します。

brew –version

インストールが出来たら、下記のようにHomebrewのバージョンが確認できます。
Homebrew 2.2.0
Homebrew/homebrew-core (git revision 43ad0; last commit 2019-11-30)

Node.jsインストール

React NativeはJavaScriptなのでランタイムとなるNode.jsが必要です。

Node.jsは頻繁にバージョンアップが行われるため、バージョン管理ツールであるnodebrewを利用します。

まず下記コマンドを実行してインストール可能なバージョンを確認します。

nodebrew ls-remote

現時点(2021年7月24日)ではv14.17.3が推奨のバージョンなので、下記コマンドでNode.jsをインストールします。

nodebrew install-binary v14.17.3

Node.jsが問題なくインストールされたら、下記のようにして現在のバージョンを変更します。

nodebrew use 14.17.3

変更が完了したら、下記コマンドでバージョンを確認します。

node -v

最新版であるv14.17.3がインストールされていることが確認できます。

v13.2.0

Node.jsをインストールすると、Node.jsのパッケージ管理ツールであるnpmも一緒にインストールされます。

npmもインストールされたか確認するため下記コマンドを実行します。

npm –version

npmも問題なくインストールされたら、
下記のようにバージョンが確認できます。

6.13.1

Watchmanインストール

React Nativeではファイルの変更時に自働で再ビルドを行いますが、そのファイル検知のためにWatchmanを利用しています。

brewでWatchmanをインストールするためのコマンドを実行します。

brew install watchman

インストールが完了したら下記コマンドを実行してインストールが出来たか確認します。

% watchman –version

インストールが出来たら、下記のようにWatchmanのバージョンが確認できます。
4.9.0

React Native CLIインストール

React Native CLIはExpoを利用しないプロジェクトでは必須なので、グローバルにインストールします。

npm install -g react-native-cli

インストールが完了したら下記コマンドを実行してインストールが出来たか確認します。

react-native –version

問題なくインストールが出来たら、下記のようにReact Native CLIのバージョンが確認できます。

react-native-cli: 2.0.1
react-native: n/a – not inside a React Native project directory

Xcodeインストール

React NativeでiOSアプリを開発するためにはiOSの開発環境であるXcodeが必要になります。
下記のリンクからアプリストアでXcodeをダウンロードします。

XcodeをインストールしたらCommand Line Toolsを設定する必要があります。
Xcodeを実行して上部のメニューでXcode > Preferences > Locationsを押して、
Command Line Toolsが設定されているか確認します。

CocoaPodsインストール

CocoaPodsはiOSアプリ用のパッケージ管理ツールです。

React Nativeが対応出来ていないネイティブの機能を使いたい時などに必要となります。
パーミッションエラーになるためsudo権限でインストールします。

sudo gem install cocoapods

インストールが完了したら下記コマンドを実行してインストールが出来たか確認します。

pod –version

問題なくインストールが出来たら、下記のようにCocoaPodsのバージョンが確認できます。

1.8.4

JDKインストール

React NativeでAndoridアプリを開発するためには、JDK(Java Development Kit)をインストールする必要があります。

下記コマンドを実行してJDKをインストールします。

brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

インストールが完了したら下記コマンドを実行してインストールが出来たか確認します。

java -version

JDKでJavaがインストールされたら、下記のようにJavaのバージョンが確認できます。

java -version
openjdk version “1.8.0_232”
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)

JDKをインストールするとJavaのコンパイラーもインストールされます。
下記のコマンドでJavaのコンパイラーもインストールされたか確認します。

javac -version

下記のようにJavaのコンパイラーのバージョンが確認できます。

javac 1.8.0_232

Android Studioインストール

React NativeでAndroidアプリを開発するためにはAndroidの開発環境であるAndroid Studioが必要になります。
下記のリンクからAndroid Studioをダウンロードします。

ダウンロードが完了したら、インストールファイルを実行してAndroid Studioを起動します。

初期設定

Android Studioを起動したら下記のような画面が確認できます。

Nextボタンを押して次の画面に移動します。
次の画面に移動したら下記のようにInstall Typeを設定する画面が表示されます。

Customを選択してNextボタンを押して次の画面に移動します。

次の画面に移動したら、
下記のようにSelect UI Theme画面が表示されます。

自分が好きなテーマを選択してNextボタンを押して次の画面に移動します。

次の画面に移動したら、
下記のようにSDK Components Setup画面が表示されます。

Performance(Intel® HAXM)とAndroid Virtual Deviceを選択してNextボタンを押してインストールを進めます。

次の画面に移動したら、
下記のようにEmulator Settings画面が表示されます。
特に変更はせずにそのままNextボタンを押して次の画面に移動します。

後は画面の案内通りに進め、Finishボタンを押すとAndroid Studioの初期設定が完了します。

Android Studioのインストールが終わったら、
下記のようにAndroid Studioが実行されることが確認できます。

SDK設定

右下のConfigure > SDK Managerを選択してSDK設定画面に移動します。

上記のような画面が表示されたら、
右下のShow Pacakge Detailsを選択します。そしてリストの中から下記の内容を探して選択します。

  • Android SDK Platform 28
  • Intel x86 Atom System Image
  • Google APIs Intel x86 Atom System Image
  • Google APIs Intel x86 Atom_64 System Image

全て選択したら右下のOKボタンを押して次の画面に移動します。

次の画面に移動したら、
上記のようにLicense Agreement画面が表示されます。

全てのLicenseに対してAcceptを選択してFinishボタンを押すと、SDKの設定が完了します。

環境変数設定

次はAndroid Studioの環境変数を設定します。

環境変数を追加するため、ご自身の環境に応じて ~/.zshrc等を開いて下記の内容を追加します。

export ANDROID_HOME=自分のAndroid SDKのディレクトリ/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

自分のAndroid SDKのディレクトリの場所がわからない場合は、
Android SDKの設定画面の一番上部の項目で確認できます。

環境変数が設定できたらターミナルを再起動して、
下記コマンドを実行します。

adb

問題なく設定が出来たら、下記のような結果が確認できます。

Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
Installed as /自分のAndroid SDKのディレクトリ/platform-tools/adb

React Nativeアプリの起動を確認

次に下記コマンドでサンプルプロジェクトを作成します。

react-native init SampleApp

iOSの場合

以下のようなnpmコマンドがpackage.jsonに記載されているため、
npm run ios, npm run androidで起動することが出来ます。

“scripts”: {
“android”: “react-native run-android”,
“ios”: “react-native run-ios”,
“start”: “react-native start”,
“test”: “jest”,
“lint”: “eslint .”
},

以下コマンドを実行してiOSシミュレータを起動します。

cd SampleApp
npm run ios

問題なく起動できた場合、下記のような画面が表示されます。

Androidの場合

Androidの場合はエミュレータを先に起動する必要があります。
右下のConfigure > AVD Managerを選択してVirtual Devices画面に移動します。

Create Virtual Device…を押して次の画面に移動します。

初期状態ではPixel2が選択された状態になっていますが、
変更せずそのままNextを押して次の画面に移動します。

Androidのバージョンを選択する画面が表示されるので、
最新のAndroid10をダウンロードします。

ダウンロードが完了したらNextを押して次の画面に移動します。

デバイスの確認画面が表示されます。
特に変更せずそのままFinishを押して完了します。

作成したデバイスの一覧画面が表示されるので、
右側のスタートボタンを押してエミュレータを起動します。

エミュレータが起動できたら下記コマンドを実行します。

npm run android

問題なく実行できた場合、下記のような画面が表示されます。

おわりに

これでReact Nativeの開発環境が整いました。

普通にiOSとAndroidのネイティブアプリの開発を行うと、XcodeとAndroid Studioの設定でまず時間がかかりますが、
React Nativeだとほとんど設定不要で起動まで出来てしまいましたね。

こちらの記事ではReact NativeにTypeScriptを導入して型定義が出来る手順について紹介しています。


ReactNativeでのアプリ開発を外注してみるのはいかがでしょうか。 dehaソリューションズではオフショア開発によって低コストで迅速な開発をサポートしています。

ReactNativeに関して詳しくお話を聞きたい方、開発相談や無料お見積りをしたい方はこちらからご気軽にお問い合わせください。

▼ dehaソリューションへの簡単見積もりの依頼はこちら

Mai Tran

Recent Posts

プロジェクト品質管理サービスとは?重要性とプロセスを解説

近年、システム開発・建設・製造・マーケティングなど、あらゆる分野でプロジェクトの複雑化が進んでいます。 市場の変化は速く、顧客の期待値も高まり続けるなか、企業に求められるのは「限られたコストと期間で、高い品質を確保した成果物を提供すること」です。 しかし実際には、品質のばらつき、手戻り、要件の理解不足、工程管理の不徹底などにより、多くのプロジェクトが計画どおりに進まず、結果的にコスト増や納期遅延という課題を抱えています。 こうした背景から注目されているのが プロジェクト品質管理サービス です。専門家による品質管理プロセスの整備・運用支援を通じて、プロジェクト全体の成功確率を高めるサービスとして、大企業から中小企業まで導入が広がっています。 この記事では、プロジェクト品質管理サービスの概要、必要性、導入メリット、サービス内容、実際の運用プロセスまでを詳しく解説します。 品質管理にお悩みの方 プロジェクト品質管理システムに興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事になっています。これを読めば、品質問題で悩んでいる組織やプロジェクトリーダーにとって、具体的な改善ヒントとなる内容がわかりますよ。 プロジェクト品質管理サービスとは? プロジェクト品質管理サービスとは、外部の専門チームやコンサルタントが、企業のプロジェクトにおける品質管理プロセスを整備し、品質向上やリスク低減を支援するサービスです。主に以下のような内容が提供されます。 品質基準・品質計画の策定 プロジェクト管理プロセスの構築・改善…

2 days ago

生成AIチャットボットは?従来のチャットボットの違い

近年、企業や教育機関、自治体を中心に「生成AIチャットボット」の導入が一気に広がっています。 ChatGPTをはじめとする大規模言語モデル(LLM)が急速に発展したことで、これまでのチャットボットでは実現できなかった高度な対話や柔軟な問題解決が可能になりました。 しかし、「生成AIチャットボット」と「従来型のチャットボット」は何が違うのか、具体的に説明できる人は意外と多くありません。 本記事では、両者の仕組みや特性、メリット・デメリット、そして導入時のポイントまで分かりやすく解説しています。 生成AIに興味がある方 チャットボットを導入したい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば生成AIチャットボットが、従来と比べてどう違うのかが丸わかりですよ。 チャットボットとは何か? チャットボットとは、ユーザーとの会話を自動で行うプログラムのことです。 ウェブサイトの問い合わせ窓口やアプリ内のサポート、コールセンターの一次対応など、さまざまな場所で活用されています。 従来のチャットボットは、多くの場合「ルールベース型」「FAQ型」「シナリオ型」と呼ばれる仕組みで動いていました。 これは、あらかじめ作成された回答やシナリオに沿って、決められたパターンの会話を実行する仕組みです。 一方、生成AIチャットボットは、文章を理解し、新たな文章を自動生成する能力を持つ「大規模言語モデル(LLM)」によって動作します。 これにより、従来型とはまったく異なる会話体験を提供できるようになりました。…

5 days ago

AI活用でコーディングが効率化し、開発のスピード3倍アップ

いま、ソフトウェア開発の現場で“静かな革命”が起きています。それは、AIがエンジニアの相棒としてコーディングを支援する時代の到来です。 「AIがコードを書くなんて、まだ先の話」と思われていたのはもう過去のこと。今ではAIが自然言語での指示を理解し、数秒でプログラムを提案・修正してくれるのが当たり前になりました。 その結果、開発スピードが従来の3倍に向上したという事例も続々と報告されています。 この記事では、AIがどのようにしてコーディングを効率化し、開発現場を変えているのかを具体的に解説します。 開発をしたい方 コーディングの効率を上げたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばコーディングにAIを活用する方法が丸わかりですよ。 コーディング現場の課題と限界 ソフトウェア開発の現場では、長年にわたって「納期の短縮」「品質の維持」「コスト削減」という三大課題がエンジニアを悩ませてきました。 近年では、ビジネス環境の変化がますます激しくなり、リリースサイクルの短期化が当たり前になっています。 特にWebサービスやモバイルアプリ開発の世界では、「スピードこそ競争力」と言われるほど、開発速度が事業の成否を左右します。 しかし、スピードを優先すれば品質が犠牲になり、品質を重視すれば納期が延びる――このジレンマに多くの開発チームが直面してきました。 加えて、エンジニアの人手不足は深刻であり、教育やナレッジ共有に割く時間も限られています。 限られたリソースでいかに生産性を高めるかが、開発現場における共通のテーマとなっています。…

2 weeks ago

要件定義フェーズをAI活用で解決する7つの問題と解決案

システム開発において最も重要であり、同時に最も難しい工程は何でしょうか。 多くのプロジェクトで共通して挙げられるのが 「要件定義」 です。 要求が曖昧なままプロジェクトが進むと、後工程での手戻りが一気に増え、QCD(品質・コスト・納期)は簡単に崩壊します。 実際に、プロジェクトが失敗する原因の6〜7割は、この初期工程である要件定義に起因すると言われています。それほど、要件定義は重要かつリスクの高いフェーズなのです。 しかし近年、AI技術の急速な進化により、従来の要件定義で「時間がかかる」「認識が揃わない」「情報が不足している」といった課題に対し、新たな解決策が生まれています。 この記事では、要件定義フェーズで頻発する7つの課題を取り上げ、それらをAIを活用してどのように改善できるのかを、具体例を交えて解説します。 要件定義フェーズでお悩みの方 AIを活用して開発効率を上げたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば要件定義で起こりうる問題とそれを解決する方法がわかりますよ。 問題1:要求が曖昧で担当者ごとに認識がズレる 要件定義で最初に直面する課題が「要求の曖昧さ」です。 ユーザー自身が課題を把握していても、機能としてどのように落とし込むべきか正確に説明できないケースは非常に多いです。…

2 weeks ago

システム開発のQCDは?プロジェクト管理を最適化

システム開発の現場では、「納期が守れない」「コストが膨らむ」「品質にばらつきがある」といった課題が常に発生します。 こうした問題の根底にあるのが、QCD(Quality・Cost・Delivery)のバランスです。 QCDは製造業を中心に使われてきた概念ですが、現在ではシステム開発やITプロジェクトの世界でも不可欠な管理指標として定着しています。 この記事では、QCDの意味とそれぞれの要素がプロジェクトに与える影響、さらに現代的な最適化の方法までを詳しく解説します。 システム開発を行いたい方 QCDについて知りたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばシステム開発のQCDについて丸わかりですよ。 (more…)

1 month ago

アジャイル開発とウォーターフォール開発でリスクとスピードを徹底比較

システム開発の現場では、プロジェクトの進め方として「ウォーターフォール開発」と「アジャイル開発」が広く知られています。 どちらも目的は同じ──高品質なシステムを納期内に完成させることですが、そのアプローチはまったく異なります。 この記事では、特に「リスク」と「スピード」という2つの視点から両者を徹底比較し、それぞれの長所・短所、そしてどんなプロジェクトに向いているかを解説します。 アジャイル開発やウォーターフォール開発の違いを知りたい方 社内のIT人材が不足している方 システム化開発を行いたい方 これらに当てはまる方におすすめの記事となっています。これを読めばアジャイル開発とウォーターフォール開発のそれぞれの特徴が丸わかりですよ。 (more…)

1 month ago