メインコンテンツへ
開発技術Webテクノロジ

PWA(Progressive Web App)の特徴として最も適切なものはどれか。

ア.PWAはApp StoreやGoogle Playからダウンロードすることが必須であり、Webブラウザ単体からのインストールはできない。
イ.PWAはAndroidのみに対応しており、iOSでは動作しない。また、カメラやGPSなどデバイス機能には一切アクセスできない。
ウ.Service WorkerはWebページのメインスレッドで動作し、UIの描画と並行してネットワークリクエストをインターセプトする。
エ.PWAはWebアプリにネイティブアプリに近い機能(オフライン動作・プッシュ通知・ホーム画面追加)を付加する技術群。Service Workerが中核技術となる。正解

解説

PWAは「Webの皮をかぶったアプリ」。普通のWebサイトに着替えさせると、プッシュ通知を送れるようになり、オフラインでも動き、ホーム画面にアイコンまで作れる。Service Workerという「常駐スタッフ」がその魔法を支えている。

なぜ エ が正解か

PWA(Progressive Web App)の主要技術: ①Service Worker: バックグラウンドで動作するJavaScriptスクリプト。ネットワークリクエストをインターセプトしてキャッシュを返す(オフライン動作)、プッシュ通知の受信などを担う。メインスレッドとは独立して動作する点が重要。②Web App Manifest: アプリ名・アイコン・テーマカラーを定義するJSONファイル。ホーム画面追加(インストール)を実現。③HTTPS必須: Service WorkerはHTTPS環境でのみ動作。PWAの利点: ブラウザからインストール可能・ネイティブアプリのUX・ストア審査不要。

なぜ ア は間違いか

PWAはApp Storeなど不要。ブラウザからホーム画面への追加(インストール)が可能なのがPWAの大きなメリット。

なぜ イ は間違いか

PWAはiOSでも動作する(一部機能はiOSで制限されるが、オフライン動作やホーム画面追加は対応済み)。カメラ・GPSへのアクセスもWeb APIを通じて可能。

なぜ ウ は間違いか

Service WorkerはWebページのメインスレッドとは別の独立したスレッドで動作する。これが特徴であり、UIをブロックせずにバックグラウンド処理ができる理由でもある。

出典: AI生成問題(学習用)