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

なぜ今、企業にAX(AIトランスフォーメーション)が必要なのか?

近年、AI(人工知能)は私たちの生活だけでなく、企業活動にも急速に浸透しています。 文章作成や画像生成、データ分析、問い合わせ対応など、これまで人が担っていた業務をAIが支援・代替できるようになり、多くの企業がAI活用に注目しています。 一方で、「AIツールを導入しただけ」で終わってしまう企業も少なくありません。 本当に競争力を高めるためには、単なるAI活用ではなく、企業全体をAI中心に変革する「AX(AIトランスフォーメーション)」という考え方が重要になります。 この記事では、AXとは何か、DXとの違い、そしてなぜ今企業にAXが必要なのかについて詳しく解説します。 AXに興味がある方 AIを活用したいとお考えの方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば今注目のAXについて丸わかりですよ。 AXとは? AX(AI Transformation:AIトランスフォーメーション)とは、AIを単なる業務効率化ツールとして導入するのではなく、AIを中心に企業のビジネスモデルや組織、業務プロセス、意思決定までを根本的に変革する取り組みを指します。 例えば、これまでAIはメールの自動返信・チャットボット・売上予測・在庫管理など、一部の業務改善に使われるケースがほとんどでした。 しかしAXでは、AIを企業経営の中心に据えます。 例えば営業部門ではAIが顧客ごとの提案内容を作成し、マーケティング部門ではAIが市場分析を行い、人事部門ではAIが採用候補者を分析し、経営層はAIによる将来予測を参考に経営判断を行うといったように、企業全体がAIと共に動く組織へ変わっていきます。…

9 hours ago

2034年に向け急拡大するベトナム企業AI市場:最新の市場規模・シェアと未来予測

生成AIの急速な普及を背景に、世界各国で企業のAI活用が加速しています。 その中でもベトナムは、政府による積極的なAI政策やデジタル化の推進、海外企業による投資拡大を追い風に、東南アジア有数の成長市場として注目を集めています。 この記事では、最新の市場規模や市場シェア、成長を支える要因、主要企業の動向をもとに、2034年に向けたベトナム企業AI市場の将来性と日本企業に広がるビジネスチャンスについて詳しく解説します。 AI市場に興味がある方 ベトナムのIT市場に興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばベトナム企業のAI市場規模がわかるのはもちろん将来の予測もわかりますよ。 (more…)

2 weeks ago

アジャイル・ウォーターフォール・ハイブリッド:企業価値を最大化する開発戦略の選び方

近年、システム開発で代表的な手法として長年利用されてきたのが「ウォーターフォール開発」と「アジャイル開発」を組み合わせた「ハイブリッド開発」が新たな選択肢として注目されています。 この記事ではそんな「ハイブリッド開発」について、どう言った特徴があるのかや、企業価値を最大化するためにはどのような視点で開発戦略を選択すべきかについて見ていきます。 アジャイル開発に興味がある方 DX化を進めたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば「ウォーターフォール開発」と「アジャイル開発」のそれぞれの特徴と、それを掛け合わせた「ハイブリッド開発」の特徴が丸わかりですよ。 アジャイル開発の特徴とメリット アジャイル開発とは、「素早い」「俊敏な」という意味を持つ言葉の通り、変化に柔軟に対応しながらシステムを開発する手法です。 従来のウォーターフォール開発では、要件定義、設計、開発、テスト、リリースという工程を順番に進め、最後に完成したシステムを利用者へ提供します。 一方、アジャイル開発では短期間の開発サイクル(スプリント)を繰り返します。一般的には1〜4週間程度の期間で、優先度の高い機能を開発し、動作する状態で提供します。 その後、利用者から意見をもらい、次の開発に反映します。 この流れを繰り返すことで、利用者の本当のニーズに近いシステムを作りやすくなります。 例えばECサイトの決済機能を開発する場合、最初からすべての決済方法を実装するのではなく、まずクレジットカード決済だけを提供し、その後電子マネーやQR決済などを追加していくことが可能です。 この方法では、早い段階でサービスを市場へ投入でき、利用状況を確認しながら改善できます。 アジャイル開発の主なメリットは以下の通りです。…

3 weeks ago

7Rフレームワークとは?生成AI活用で加速するレガシーシステムマイグレーション

企業の基幹システムの多くは、10年、20年、あるいは30年以上にわたって運用され続けています。 しかし近年、こうしたレガシーシステムを取り巻く環境は大きく変化しています。 近年、注目されているのが「7Rフレームワーク」です。 7Rフレームワークは既存システムをクラウド環境へ移行する際に採用される代表的な意思決定モデルであり、システムごとに最適な移行戦略を選択するための考え方です。 この記事ではそんな7Rフレームワークについて、特徴を紹介していきます。 7Rフレームワークに興味がある方 生成AIを活用したい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば7Rフレームワークの特徴がわかるのはもちろん、AI時代での7Rフレームワークについて丸わかりですよ。 (more…)

3 weeks ago

構造変化に直面するオフショア開発:「量」の補完から「AI Native」への転換期

オフショア開発は従来の「量」の補完から、しかし、生成AIの急速な進化によってその前提が大きく変わろうとしています。 今後は「どれだけ高い生産性を実現できるか」が重要です。 この記事ではそのようなオフショア開発のあり方の変化について見ていきます。 オフショア開発に興味がある方 社内のIT人材が不足している方 AIを使った開発に興味がある方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の変化についてわかるのはもちろん、AI Nativeについても丸わかりですよ。 (more…)

4 weeks ago

生成AI時代における「2030年に79万人IT人材不足」の再定義と構造変化

近年、日本のIT業界では「2030年に最大79万人のIT人材が不足する」という予測が繰り返し語られています。 この数字は、日本社会のDX推進や企業のシステム開発を支える人材の不足を警告する象徴的な指標として広く認知されています。 しかし、2022年末以降の生成AIの急速な発展により、この予測の前提条件は大きく変化しています。 かつては人間が手作業で行っていたプログラミング、設計書作成、テストケース生成、ドキュメント作成、データ分析などの業務が、AIによって大幅に自動化され始めているためです。 その結果、「79万人不足」という予測を単純に受け入れるのではなく、「どのような人材が不足し、どのような人材の需要が減少するのか」という質的な観点から再検討する必要が生じています。 この記事では、生成AI時代におけるIT人材不足の構造変化を分析し、2030年に向けて求められる人材像について考察をしていきます。 生成AI時代が気になる方 IT業界の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば「2030年79万人IT人材不足」問題について、新しい見解とその対策がわかりますよ。 (more…)

1 month ago