💡
この章で話すこと
- モバイルアプリの特徴について
モバイルアプリとは
iOSやAndroidなどモバイルOS上で動くアプリケーションのこと。
Webアプリとの違い
| 特徴 | モバイルアプリ(ネイティブ) | ブラウザアプリ |
|---|---|---|
| 定義・概要 | 特定のOS(iOS, Androidなど)上で直接動作するように開発されたアプリケーション | ブラウザを通じて利用するアプリケーション |
| 動作環境 | 特定のOSがインストールされたスマートフォンやタブレット | インターネット接続とWebブラウザがある環境(OSに依存しない) |
| 配布・インストール方法 | アプリストア(App Store, Google Playなど)からダウンロードしてインストールが必要 | URLにアクセスするだけで利用可能(インストール不要) |
| パフォーマンス | OSに最適化されており、一般的に高速でスムーズな動作が期待できる | 一般的にネイティブアプリより劣る場合がある(ブラウザの制約を受ける) |
| デバイス機能へのアクセス | OSの提供する全ての機能(カメラ、GPS、プッシュ通知、連絡先など)にアクセス可能 | 一部の機能(カメラ、GPSなど)にはアクセス可能だが、制限がある |
| オフライン利用 | オフラインでも利用可能な機能を実装しやすい | 基本的にオンラインでの利用が前提(PWAなど一部オフライン対応可能な技術もある) |
| 解像度 | 端末によって解像度がバラバラ ◦ HD(1280x720)からWQHD+(3200x1440)まで幅広い ◦ 縦横比も16:9、19.5:9、21:9など ◦ 縦持ちと横持ち、折りたたみ | ウィンドウサイズによって変わる |
| バッテリー | バッテリー効率が重要 ◦ 省電力設計が必須 | ブラウザを介して動作するため、ネイティブほど細かな省電力制御はできない ◦ PC利用も想定されるため、相対的にバッテリー最適化の優先度は低め |
| 公開 | 多くの場合アプリストアの審査が必要(リジェクトされる可能性もある) ※地域・法律によりサイドローディング等の例外もある(※1, ※2) | 不要(Webサイトとして公開) |
※1 DMA(Digital Markets Act): EUのデジタル市場法。2024年3月に本格施行され、AppleはEU圏内でサイドローディング(アプリストアを経由しないインストール)や代替アプリストア(AltStore PAL、Epic Games Storeなど)を許可。Googleも同様に対応
※2 スマホソフトウェア競争促進法(正式名称:スマートフォンにおいて利用される特定ソフトウェアに係る競争の促進に関する法律): 2024年6月に成立、2025年12月18日に全面施行。これにより日本国内でもApple・Googleともにサードパーティストアからのアプリ配布や代替決済手段が許可されている
メリット・デメリット
モバイルアプリ(ネイティブ)
- メリット
- OSに最適化されており、デバイスの機能を最大限に活用できる
- オフラインでも利用しやすい
- アプリストアでの露出が期待できる
- デメリット
- OSごとに開発が必要な場合、開発コストや期間が増加(※ Flutter, React Native, Kotlin Multiplatformなどクロスプラットフォーム技術で軽減可能)
- 多くの場合アプリストアの審査が必要
- ユーザーによるインストール・アップデートが必要
ブラウザアプリ
- メリット
- OSに依存せず、多くのデバイスで利用可能
- インストール不要ですぐに使える
- アップデートが容易
- デメリット
- ネイティブアプリに比べてパフォーマンスが劣る場合がある
- デバイス機能へのアクセスに制限がある
- オフライン利用に弱い
モバイルアプリの仕様
- OSがアプリの動作を管理する
- 予め許可したパーミッションの範囲でしか動作できない
- 自動的にリソースを解放し、RAM(メモリ)を空ける
- OSが勝手に画面用データを消したり、プロセスごとKillしたりする
- バックグラウンド動作を制限する
- OSが柔軟なレイアウトシステムを持っている
- 画面サイズの変化に対して柔軟なレイアウト
- 言語・解像度などに応じた切り替えシステムも持っている
💡
まとめ
- モバイルアプリは、ブラウザアプリと比較して、高いパフォーマンスとデバイス機能へのより詳細なアクセスが可能
- 多くの場合アプリストアを通じた配布となり、審査プロセスがある(ただし地域・法律により例外あり)
- OSによる厳密な管理下で動作し、パーミッションやリソース管理の制約を受ける
- 多様な画面サイズ・解像度に対応する柔軟なレイアウトシステムを備える
- バッテリー消費を意識した設計が必要