💡
  
  
    
  
    
      
        
          
            この章で話すこと
          
        
      
    
  
    
- モバイルアプリの特徴について
 
モバイルアプリとは
iOSやAndroidなどモバイルOS上で動くアプリケーションのこと
Webアプリとの違い
| 特徴 | モバイルアプリ(ネイティブ) | Webアプリ | 
|---|---|---|
| 定義・概要 | 特定のOS(iOS, Androidなど)上で直接動作するように開発されたアプリケーション | Webブラウザを通じて利用するアプリケーション | 
| 動作環境 | 特定のOSがインストールされたスマートフォンやタブレット | インターネット接続とWebブラウザがある環境(OSに依存しない) | 
| 配布・インストール方法 | アプリストア(App Store, Google Playなど)からダウンロードしてインストールが必要 | URLにアクセスするだけで利用可能(インストール不要) | 
| パフォーマンス | OSに最適化されており、一般的に高速でスムーズな動作が期待できる | 一般的にネイティブアプリより劣る場合がある(ブラウザの制約を受ける) | 
| デバイス機能へのアクセス | OSの提供する全ての機能(カメラ、GPS、プッシュ通知、連絡先など)にアクセス可能 | 一部の機能(カメラ、GPSなど)にはアクセス可能だが、制限がある | 
| オフライン利用 | オフラインでも利用可能な機能を実装しやすい | 基本的にオンラインでの利用が前提(PWAなど一部オフライン対応可能な技術もある) | 
| 解像度 | 
                  
  
    
      
        
          
            端末によって解像度
          
        
      
    
  
  
    
      
        
          
            がバラバラ
                           ◦ HD(1280x720)から8Kなど幅広い ◦ 縦横比も16:9、19.5:9、21:9など ◦ 縦持ちと横持ち、折りたたみ  | ウィンドウサイズによって変わる | 
| バッテリー | 
                  
  
    
      
        
          
            バッテリー
          
        
      
    
  
  
    
      
        
          
            効率が重要
                           ◦ 省電力設計が必須  | |
| ストア審査 | アプリストアの審査が必要(リジェクトされる可能性もある) | 不要(Webサイトとして公開) | 
| メリット | 
                  
  
    
      
        
          
            ・OSに最適化されており、デバイスの機能を最大限に活用できる
                           ・オフラインでも利用しやすい ・アプリストアでの露出が期待できる  | 
                  
  
    
      
        
          
            ・OSに依存せず、多くのデバイスで利用可能
                           ・インストール不要ですぐに使える ・アップデートが容易  | 
          
| デメリット | 
                  
  
    
      
        
          
            ・OSごとに開発が必要な場合、開発コストや期間が増加
                           ・アプリストアの審査が必要 ・ユーザーによるインストール・アップデートが必要  | 
                  
  
    
      
        
          
            ・ネイティブアプリに比べてパフォーマンスが劣る場合がある
                           ・デバイス機能へのアクセスに制限がある ・オフライン利用に弱い  | 
          
モバイルアプリの仕様
上記の特徴から、モバイルアプリは以下のように動作する
- 
        
  
    
      
        
          
            OSがアプリの動作を管理する
          
        
      
    
  
        
- 予め許可した パーミッション の範囲でしか動作できない
 - 
        
  
    
      
        
          
            自動的に
          
        
      
    
  
  
    
      
        
          
            リソースを解放
          
        
      
    
  
  
    
      
        
          
            し、RAM(メモリ)を空ける
          
        
      
    
  
        
- OSが勝手に画面用データを消したり、プロセスごとKillしたりする
 
 - バックグラウンド動作を制限 する
 
 
- 
        
  
    
      
        
          
            OSが柔軟な
          
        
      
    
  
  
    
      
        
          
            レイアウトシステム
          
        
      
    
  
  
    
      
        
          
            を持っている
          
        
      
    
  
        
- 画面サイズの変化に対して柔軟なレイアウト
 - 言語・解像度などに応じた切り替えシステムも持っている
 
 
    💡
  
  
    
  
    
      
        
          
            まとめ
          
        
      
    
  
    
- モバイルアプリは、Webアプリと比較して、高いパフォーマンスとデバイス機能へのより詳細なアクセスが可能
 - アプリストアを通じた配布が必要で、審査プロセスがある
 - OSによる厳密な管理下で動作し、パーミッションやリソース管理の制約を受ける
 - 多様な画面サイズ・解像度に対応する柔軟なレイアウトシステムを備える
 - バッテリー効率と省電力設計が重要な考慮事項