SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ExpoとEASで始める快適モバイルアプリ開発

モバイルアプリ開発の総合インフラ「Expo」でアプリ開発を始めよう

ExpoとEASで始める快適モバイルアプリ開発 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本記事では、React Nativeベースのフレームワーク「Expo」がどんな仕組みなのか、Expoによってどのようにモバイルアプリを開発・実行できるのかを解説します。ベースエンジンとなっているReact Nativeはどのようなものかを見た後、Expoはどのような側面からアプリ開発をサポートするのかを解説していきましょう。動作確認用のExpo Goアプリの使い方も解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

  • モバイルアプリを作ってみたいReactエンジニア
  • モバイルアプリのリリース作業を手軽に行いたい方

前提環境

 筆者の検証環境は以下の通りです。

  • macOS Sonoma 14.6.1
  • Node.js 22.8.0
  • npm 10.8.2
  • Expo 51.0.32
  • React Native 0.74.5

Webに軸足を置いたモバイルアプリ開発の需要

 モバイルアプリ開発の分野は、他の多くの分野と同じように進化を続けています。かつてはObjective-C言語で処理を書いてInterface BuilderやStoryboardでUIを組むのが主流だったiOSアプリ開発は、現在ではSwift言語とSwiftUIが主流になりました。同様に、Java言語で処理を書いてLayout XMLでUIを組むのが主流だったAndroidアプリ開発は、Kotlin言語とJetpack Composeが主流になってきています。これらは「言語のモダン化」と「宣言的UIの採用」といった方向への改善と見なすことができ、近代的なGUIアプリケーション開発の大きな潮流となっています。

 また、モバイルアプリ需要の高まりに応じて、AndroidアプリとiOSアプリを別々に作る余裕のない現場が増えたためか、AndroidとiOSのどちらでも動作するコードを書くためのツールが求められるようになりました。そういった時代の後押しを受ける形で、日本国内ではFlutterが有名になりましたね。Flutterは近代的に進化したDart言語で、宣言的UIによってGUIを管理する開発スタイルが前述の潮流とも相性が良く、国内の多くの開発者に支持されています。

 いずれも素晴らしいツールであることは明白ですが、普段はWeb開発でJavaScriptやTypeScriptを書いているエンジニアにとっては、少し遠い世界のように感じられるかもしれません。「優れたエンジニアは言語を選ばないはずだ」と言われると耳が痛いですが、チームの練度や採用方針によっては、言語の選択肢を絞ったほうが都合がいいこともあるでしょう。そういった場合に、JavaScriptやTypeScriptでモバイルアプリを開発できるツールがあると、事業に貢献できる幅が広がって便利そうです。

 そんな都合のいいツールのひとつとして、実行環境としてのReact Native(リアクトネイティブ)と、その上で動くフレームワークであるExpo(エクスポ)があります。その名のとおり、ReactによるUI構築や状態管理の方法論でモバイルアプリを開発できるツールです。また、Expoにはモバイルアプリの運用をサポートするExpo Application Service(エクスポアプリケーションサービス、EAS)というコマンドラインツールやSaaSが整備されており、ビルドやリリース、証明書の更新といった、煩雑な作業を簡略化するための機能が揃っています。EASが受け持つ作業は、モバイルアプリを運用する中でも特に煩わしい部分なので、これを使えるだけでもExpoの採用には大きなメリットがあると言えるでしょう。

 本連載では、ExpoとEASでどんなことができるのかを解説していきます。アプリの作り方だけではなく、アプリの運用を取り巻くさまざまなトピックの中で、ExpoとEASがどのように役立つのかを見ていきましょう。

次のページ
React Nativeとは

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

WINGSプロジェクト 中川幸哉(ナカガワユキヤ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20328 2024/10/31 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング