PWAと外部APKは何が違う?どちらもストア不要だけど中身は全然違う

PWAとWebサイトから直接配布する外部APKは何が違う?どちらもGoogle Playを使わず配布できますが、PWAはWebアプリ、APKはAndroidアプリです。インストール方法、更新、安全性、端末機能、iPhone対応などの違いをわかりやすく比較します。

目次

AndroidアプリをGoogle Play以外から配布する方法として、Webサイト上にAPKファイルを置いて直接インストールしてもらう方法があります。

一方、PWAもWebサイトから直接ホーム画面へ追加・インストールできるため、Google Playを必ずしも必要としません。

すると、こんな疑問が出てきます。

「PWAも、いわゆる野良APKみたいなもの?」

どちらもストアを経由せず配布できるという点では似ています。

しかし、中身はまったく別物です。

今回は、PWAとWebサイトなどから直接配布される外部APKの違いを、インストール方法や更新、安全性なども含めて比較してみます。

結論:PWAはWeb、APKはAndroidアプリ

まず一番大きな違いはここです。

PWAはWebアプリです。

HTML、CSS、JavaScriptなどで作られたWebコンテンツをブラウザから利用し、対応する環境ではホーム画面などへインストールして、アプリのような入口を作れます。

一方のAPKは、Androidアプリを端末へインストールするためのパッケージファイルです。

拡張子はそのまま、

Text
.apk

です。

Androidでは、このAPKに含まれるコードやリソースを使ってAndroidアプリをインストールします。

つまり、見た目はどちらもホーム画面にアイコンが並びますが、

という根本的な違いがあります。

そもそもPWAとは何なのかについては、こちらの記事でも詳しく解説しています。

PWAと外部APKを比較するとこうなる

比較 PWA 外部APK
本体 Webアプリ Androidアプリ
配布 Webサイト・URL APKファイル
Google Play 必須ではない 直接配布なら不要
導入 ブラウザからホーム画面へ追加・インストール APKをダウンロードしてAndroidへインストール
更新 基本はWeb側を更新 アプリ自体の更新処理が必要
iPhone 利用可能 APKは利用不可
端末機能 Web APIなど利用環境の範囲 Androidアプリとしてより広い機能を利用可能

「ストアを使わずにアプリっぽく配れる」という一点だけを見ると似ています。

でも、その実現方法はかなり違います。

外部APKはファイルをダウンロードしてインストールする

外部APKの場合、WebサイトなどからAPKファイルをダウンロードします。

そしてAndroidへ、そのAPKをアプリとしてインストールします。

Google Playを通さずに配布する場合は、端末側でその提供元からのアプリインストールを許可する必要が出ることもあります。

ユーザーから見ると、

  1. Webサイトを開く
  2. APKをダウンロードする
  3. 必要に応じてインストールを許可する
  4. APKをインストールする

という流れになります。

もちろんAndroidアプリそのものを配布したいのであれば、これは普通の選択肢です。

ただ、「Webサイトをホーム画面から開けるようにしたい」という目的だけなら、少し大掛かりです。

PWAはWebサイトからそのまま追加できる

PWAの場合、APKファイルをユーザーへ配る必要はありません。

ユーザーはいつも通りWebサイトへアクセスします。

対応しているブラウザやOSなら、そこからインストールしたり、ホーム画面へ追加したりできます。

Web App Manifestを設定しておけば、名前やアイコン、起動URL、表示方法などもWeb側から定義できます。

JSON
{
  "name": "My App",
  "short_name": "My App",
  "start_url": ".",
  "display": "standalone",
  "icons": [
    {
      "src": "/icon.png",
      "sizes": "512x512",
      "purpose": "any"
    }
  ]
}

ユーザーからすると、

  1. Webサイトを開く
  2. ホーム画面へ追加・インストールする
  3. 次からアイコンをタップして開く

という流れです。

APKそのものを配布しているわけではありません。

更新方法もかなり違う

この違いは、運営側にとってかなり大きいところです。

PWAの本体はWebなので、Webページを更新すれば、基本的には次回アクセス時から新しい内容を配信できます。

もちろんService Workerで強いキャッシュを使っている場合などは、キャッシュ更新について別途考える必要があります。

ただ、普通のWebと同じようにサーバー側を更新できるのはPWAの大きな特徴です。

APKの場合はAndroidアプリなので、アプリ本体を変更したら新しいバージョンをユーザーへ届ける仕組みが必要になります。

ストアを使わず自分でAPKを配布するなら、その更新方法についても自分で考える必要があります。

PWAはiPhoneでも使える

APKはAndroid用のパッケージなので、iPhoneへAPKをインストールすることはできません。

PWAはWebなので、AndroidだけでなくiPhoneでも利用できます。

ただし、ホーム画面への追加方法やPWAとして利用できる機能には、OSやブラウザによる違いがあります。

特にiPhoneとAndroidでは、同じmanifestを使っていても挙動が違うことがあります。

iPhoneとAndroidでPWAの考え方がかなり違うという点は、実機検証でも何度も感じているところです。

端末機能を本格的に使うならAPK側が強い

ここまで読むとPWAの方が簡単で便利に見えるかもしれません。

しかし、だからAPKよりPWAが優れているという話ではありません。

PWAが利用できる端末機能は、ブラウザやOSが提供しているWeb APIなどの範囲に影響されます。

Androidアプリとして端末機能と深く連携したい場合は、ネイティブアプリ側の方が適しているケースがあります。

逆に、

という用途なら、APKを新しく作る前にPWAで十分ではないかを考える価値があります。

PWAは「野良アプリ」と同じなのか?

ここは少し注意したいところです。

Google Playなどを経由しないという理由だけで、PWAと外部APKを同じ「野良アプリ」として考えるのは少し違います。

PWAは、もともとWeb上で動いているWebアプリをブラウザ経由で端末へ統合する仕組みです。

ホーム画面へ追加したからといって、それだけでWebサイトへAndroidアプリと同じ権限が与えられるわけではありません。

一方、APKはAndroidアプリのインストールそのものです。

「ストアを経由していない」という共通点はあっても、端末で行われていることは同じではありません。

じゃあPWAなら安全なのか?

これも別の話です。

PWAだから安全、APKだから危険、と単純に分けることはできません。

例えば悪意のあるWebサイトが本物のサービスそっくりのログイン画面を作れば、PWAでなくてもフィッシングは成立します。

PWAとしてホーム画面へ追加された場合も、元のWebアプリが悪意のあるものなら安全とは言えません。

逆に、外部APKだから必ず危険というわけでもありません。

重要なのは、どこから提供されているものなのか、誰が作っているのか、そのアプリが何をするのかです。

PWAの安全性については、PWAは安全?危険?Webサイトとの違いとセキュリティでも詳しく解説しています。

「Webをアプリっぽくしたい」だけならPWAという選択肢がある

外部APKとPWAは、どちらもアプリストアを必須とせずユーザーへ届けられます。

でも、その中身はまったく違います。

Androidアプリそのものを作り、Androidの機能を本格的に利用したいならAPK。

一方、すでにWebサイトやWebサービスがあり、そのページをホーム画面から直接起動できるようにしたいならPWA。

特に後者の場合、わざわざWebとは別にAndroidアプリを作らなくても目的を達成できることがあります。

「アプリを作りたい」ではなく、「何をアプリとして使いたいのか」。

そこから考えると、PWAとAPKのどちらを選ぶべきかが見えやすくなると思います。

はてなブログを無料でアプリ化(PWA)する方法|headに2行貼るだけ

はてなブログを無料でPWA化し、スマホやPCへアプリとしてインストールできるようにする手順を解説します。詳細設定のhead欄へアイコン指定とOJapp FREEのスクリプトを追加するだけで導入できます。

おじゃち

OJapp代表 WPプラグインPWAマーケティング・OnePage.OneApp.(1P1A)・ホーム画面名刺&SNSのPetal・その他OJappToolsなどを開発。PWA・ホーム画面・Safari挙動・軽量Web体験を中心に、実験しながらWebアプリを開発しています。

← 記事一覧へ戻る