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



当サイト、オリジナルWordPressプラグイン「OJapp PWA Marketing」を使用しています。

各記事は専用アイコンでホーム画面に追加できます。ぜひお試しください。

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アプリを端末へインストールするためのパッケージファイルです。

拡張子はそのまま、

.apk

です。

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

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

  • PWA → Webアプリを端末から起動しやすくする
  • APK → Androidアプリを端末へインストールする

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

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

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

比較PWA外部APK
本体WebアプリAndroidアプリ
配布Webサイト・URLAPKファイル
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側から定義できます。

{
  "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アプリとして端末機能と深く連携したい場合は、ネイティブアプリ側の方が適しているケースがあります。

逆に、

  • 既存のWebサービスがすでにある
  • ホーム画面から直接開ければいい
  • URLでそのまま配布したい
  • AndroidとiPhoneの両方で使いたい

という用途なら、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のどちらを選ぶべきかが見えやすくなると思います。

GoogleでOJapp Tipsを優先する情報源に追加

今後、Google検索でOJapp Tipsの記事を見つけやすくできます。


OJapp FREE · 1P1A

Turn Any Web Page into a Home Screen App

Skip complex PWA setup. Add one line of code and turn your
web page into an installable home screen app.


OJapp FREE - One Page. One App.


OJapp FREE · 1P1A

Webページをホーム画面アプリに

複雑なPWA設定やmanifest.jsonの作成は不要。
1行のコードを追加するだけで、Webページをホーム画面へ追加できるアプリに変えられます。


OJapp FREEでWebページをホーム画面アプリに

OJapp Tips  -  PWA・ホーム画面追加の実機検証ブログ

OJapp Tips  -  PWA・ホーム画面追加の実機検証ブログ

OJapp Tipsは、 公式ドキュメントをなぞるだけでは分かりにくい挙動を、実際にiPhone・Android・PCで検証しながら記録しています。

特に、manifest.json、Service Worker、Web App Manifest、WebClip、アイコンキャッシュ、ホーム画面追加の挙動など、 Webサイトを「アプリのような入口」として使うためのノウハウを中心に扱っています。

OJapp Tipsの記事は、PWA LABでの実機検証や、OJapp・Petal・OJ-Passなど自作ツールの開発で詰まったことを元にしています。 きれいな理論だけではなく、「実際にはここでハマる」という現場寄りの知識を残すための場所です。