Expo✕React Nativeの環境構築を行う【React Native入門】

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

この記事ではReact Nativeを使ってアプリ開発を行っていく方向けに、Expoを利用した環境構築の仕方を紹介していきます。

Expoを利用することで簡単にReact Nativeの環境開発が可能ですよ。

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

  • React Nativeでの開発に興味がある方
  • JavaScriptを勉強していた方
  • React Nativeの環境構築を知りたい方

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

Expoとは

ExpoはReact Nativeのビルドや開発を支援してくれるサービスです。

React NativeではXcodeやAndroid StudioといったiOS/Androidの開発環境を使って、自身でビルドを行う必要がありました。

Expoは公式に「you don’t need Xcode or Android Studio to get your app into people’s hands」と書かれているように、ビルドを担当してくれるので、XcodeやAndroid Studioを触ることがほぼ無くなります。

後述するシミュレーターを起動するためにXcode, Android Studioの構築は必要ですが、最初の構築さえしてしまえば、その後はほとんど意識しないで済むでしょう。

これは開発スピードを確保するために非常に重要な点なので、今からReact Nativeで開発を行う際はExpoを使うのが一般的になっています。

動作環境の用意

  • node v14.13.1
  • expo-cli 3.28.1

本記事は上記環境で動作させています。

nodeは偶数がLTS (Long Term Support)で、執筆時点では14系が最新です。
利用しているバージョン管理ツール (nodenv, nodebrew等)でインストールしておきましょう。

npm install -g expo-cli

nodeが用意できたら、上記コマンドでexpo-cliを入れておきます。

Expoプロジェクトの作成

それではまず次のコマンドでプロジェクトを作成します。

expo init sample-app

コマンドを実行すると以下のような表示になります。

補完が効いたり、typoを防げるのでblank (TypeScript)を選択して、TypeScriptを導入しましょう。
公式サポートしてくれているので非常に楽ですね。

上記のような表示がされれば完了です。これだけで、アプリ開発を始めることができます!

React NativeはiOS/Android両方のアプリを作ることが出来るのが強みですので、
次はそれぞれの仮想端末での実行を試します。

Expo Developer Toolsを起動する

まず以下のコマンドを実行します。

expo start

コマンドを実行すると上記のような画面のExpo Developer Toolsが19002ポートで立ち上がります。

Expo Developer Toolsが担当している役割は以下の通りです。

● Metroを実行してJSファイルをバンドルする (複数のJSファイルを1つにまとめる、JSXを素のJSに変換する等)
● バンドルしたJSファイルを取得し、シミュレーター内のExpo Clientで実行する

また http://localhost:19000/ へアクセスすると、
アイコンやスプラッシュ画面、バンドルしたJSのURL等のExpoアプリの情報を確認することができます。

Expo Client (iOSシミュレーター)で実行する

本記事では「【Mac編】ReactNativeを使って環境構築をする方法は?【JavaScriptのコードのみでアプリ開発】」で構築したXcodeとAndroid Studioの環境があるため、iOSシミュレーターやAndroidエミュレーターが既に用意できている前提になっています。

まだ構築していない方はこちら記事をご覧頂くか、Expoの公式サイトを参考にしてみてください。

次に上記画面の「Run on iOS simulator」をクリックすると、バンドルしたJSファイルが読み込まれ、iOSシミュレーター内のExpo Clientで実行されます。

App.tsxを編集したら以下のようにHello World!がHot Reloadされることを確認しておきましょう。

Expo Client (Androidエミュレーター)で実行する

次は上記画面で「Run on Android device/emulator」を押してみましょう。
バンドルしたJSファイルが読み込まれ、Android Emulator内のExpo Clientで実行されます。

こちらもHot Reloadが動くことを確認しておきましょう。

おわりに

Expoを使わないReact Nativeに比べると、非常に簡単に環境構築できてしまいました。

ネイティブのコードを触ることができないという制約もありますが、大抵の機能は実現できるようにExpoやReact Native公式のコンポーネントが用意されています。

ネイティブを触らない要件に合わせてアプリを作るのがReact Native開発を高速化するコツということですね。


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

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

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


Mai Tran

Recent Posts

CRMのタイプ別?特徴や基本機能を紹介

企業が顧客関係を管理し、ビジネスの成長を促進するために欠かせないツールのひとつがCRM(Customer Relationship Management)です。 CRMは単なる顧客管理システムではなく、営業、マーケティング、カスタマーサポートなど多岐にわたる機能を提供します。 CRMにはいくつかのタイプがあり、それぞれの目的や特徴が異なります。 そこで記事では、クラウド型CRM、オンプレミス型CRM、自社向け開発型CRMの種類と特徴、基本機能について詳しく解説します。 CRMの導入を検討されている方 業務の効率化を図りたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばそれぞれのCRMの特徴がわかるのはもちろん、導入のメリットなども丸わかりですよ。 1. クラウド型CRM クラウド型CRMは、インターネットを通じて提供されるCRMで、場所やデバイスを問わず利用できる点が最大のメリットです。 導入コストが低く、更新やメンテナンスもプロバイダー側で対応してくれるため、中小企業から大企業まで幅広く利用されています。 基本機能①アクセスの柔軟性 クラウド型CRMは、インターネット環境があれば世界中どこからでも利用できます。…

4 hours ago

2025年の崖:その後の課題と企業が取るべき対策

「2025年の崖」とは、2018年に経済産業省が発表した「DXレポート」において示された概念です。 2025年には企業の基幹系システムの約6割が導入から21年以上経過し、適切な対策を講じなければ年間最大12兆円の経済損失が発生する可能性があると指摘されました。 この警鐘を受け、多くの企業がレガシーシステムの刷新やERP(Enterprise Resource Planning)の導入を進めました。 しかし、2025年を迎えた現在、単なるシステムの更改では企業の競争力向上には不十分であることが明らかになっています。 この記事では、「2025年の崖」を乗り越えた企業が直面する新たな課題と、それに対する具体的な対策について詳しく考察します。 2025年の崖に対する具体的な課題や解決策を知りたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば2025年の崖が現状どのような状況なのかやその対策などが丸わかりですよ。 (more…)

5 days ago

MESとERFの違い?

製造業において、生産管理の効率化は競争力を維持するために欠かせません。 その中でも、MES(Manufacturing Execution System)とERF(Enterprise Resource Planning for Factories)は重要な役割を果たします。 この記事では、そんなMESとERFについて、それぞれのシステムの概要、特徴、利点、そして違いについて詳しく解説します。 MESとERFについて気になる方 製造業の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばMESとERFについてそれぞれの特徴がわかるのはもちろん、も分かりますよ。 (more…)

1 week ago

MESシステムとは?特徴、役割やメリットを紹介

MESシステムは製造業において、生産現場の管理などを行うシステムです。MESシステムを導入することで、生産効率や品質の向上が期待されます。 本日はそんなMESシステムについて、どのような特徴があるのかやその役割やメリットなど徹底解説していきます。 MESシステムが気になっている方 製造業の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばMESシステムについて詳しくなるのはもちろん、導入の際に気をつけるべきことまで丸わかりですよ。 (more…)

1 week ago

【2025年版】オフショア開発で発生しがちな認識のズレを埋めるプロトタイプツール7選

オフショア開発は安価で高品質の開発ができる開発手法ですが、コミュニケーションの問題が発生しがちです。 そんなコミュニケーションロスの問題を解決するツールとして、今回紹介したいのがプロトタイプツールです。 プロトタイプツールを利用することで、会話型のコミュニケーションから視覚的なコミュニケーションに移行することができ、よりわかりやすく情報を共有することができるのです。 この記事ではそんなプロトタイプツールのおすすめ7つを紹介していきます。 オフショア開発に興味がある方 プロトタイプツールを詳しく知りたい方 オフショア開発のコミュニケーションの問題に悩まれている方 これらに当てはまる方におすすめの記事となっています。これを読めば、オフショア開発のコミュニケーション問題を解決する方法がわかりますよ。 (more…)

2 weeks ago

2025年注目のモバイルアプリ開発フレームワーク 5選

スマートフォン市場がますます進化する中で、モバイルアプリの開発技術も飛躍的に向上しています。 特に、クロスプラットフォーム開発の重要性が増し、開発スピードやコスト削減を実現するフレームワークが次々と登場しています。 この記事では、2025年に注目されるモバイルアプリ開発フレームワークを5つ紹介し、それぞれの特徴やメリットを詳しく解説します。 モバイルアプリ開発を行いたい方 モバイルアプリ開発フレームワークについて最新情報を知りたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばモバイルアプリ開発のフレームワークについて注目のものが何なのか丸わかりですよ。 (more…)

2 weeks ago