kk-web

結局PWAってどうなの?

2021-08-11

また最近 PWA についていろいろとわかってきたので、現時点で持ち合わせている知見をだらだらーっと書いていこうと思います。


そもそも PWA とは

プログレッシブウェブアプリ (PWA) のことです。

細かい説明は MDN にまかせますが、Web サービスをアプリっぽいプラットフォームで動作させるイメージで良いと思います。

他に覚えておいたほうが良い語句は以下のとおりです。

A2HS

ホーム画面に追加 のことで、ADD TO HOME SCREEN の略称です。

PWA をインストールして、ホーム画面にショートカットを作成することの意味となります。

TWA

Trusted Web Activity の略称です。

信頼できる PWA みたいな意味なんですかね?

PWA はそのままでは GooglePlay にリリースできず、TWA を介すことでリリースできるようになります。

デスクトップ PWA

パソコンで扱う PWA はデスクトップ PWA と呼びます。

PWA の作り方

基本的にはめちゃくちゃ簡単です。

Create React App

公式のドキュメントに沿って、プロジェクトの生成時に --template cra-template-pwa--template cra-template-pwa-typescript といったオプションをつけてやれば OK です。

Next.js

next-pwa をインストールすれば OK です。

ちなみにおんめもは Next.js で作りました。

TWA の作り方

いくつかやり方はありますが、自分の場合は Bubblewrap CLI を使っています。

PWA がサポートしている範囲

現時点で自分が把握している範囲なのであしからず。

  • Chrome(Windows / Mac / Chrome OS / Android)
  • Safari(iOS / iPadOS)

PWA は Google が推している技術だけあって Chrome OS もカバーされているのがおもしろいなぁと。

TWA がサポートしている範囲

  • Google Play ストア

表現に誤解があるかもしれないですが、PWA は iPhone や iPad でも動きますが TWA は対応していません。

今のところ PWA を Apple Store で配信する方法もありません。

Microsoft Store はいけるのかな?

PWA / TWA のメリット

個人的に思っていることですが。

開発が簡単

上にも書いた通り、普通の Web サービスを作ってしまえばデスクトップ / モバイル問わず簡単にアプリ化できるのは大きいなぁと。

HTML、CSS と JavaScript さえ書ければ誰でも作れるハードルの低さは結構エグいです、Google が結構強引に推し進める理由もわかります。

サポート範囲が広い

iOS / iPadOS における TWA を除いて、ほぼすべての端末からブラウザを介してもアプリとしても使用できるのはエグいです。

ブラウザからしかアクセスできない Web サービスとか、PWA 化くらいすれば良いのになーと。

アプリの更新が簡単

PWA に限った話ですが、アプリ自体の更新がめっちゃ簡単です。

Google Play ストアを介さないため、アプリ内でキャッシュを削除するような導線をつなげれば簡単に実装できます。

PWA / TWA のデメリット

ほぼ答えは出ていますが。

Apple Store でリリースできない

Apple Store で TWA がリリースできないことがほぼ答えみたいなもんですが、Apple はまったく乗り気でないようです。

それもそのはずで、TWA でアプリがリリース可能になると Swift の存在意義がなくなっちゃいますしね…。

とはいえ現状 Safari から A2HS は可能なので、実質無料でアプリがリリースできちゃうんですよね。(これは Android も同じ状態ですが)

今年 こんなニュース が出たことですし、今後もスマホアプリのあり方に大きく動きがありそうだなーと。

しかし Apple の閉鎖的かつ銭ゲバな感じは好きになれないですね…。


そんな感じです。

個人的には Electron の存在意義もほぼないよなーと思います、それ PWA で良くない?ってケースは増えそうですよね。

あと Pixiv の管理画面とかはさっさと PWA 化すれば良いのになーと、内部の実装はまったく知らないですが。

TWA が流行ってくると、Web サービスのみならず Web サイトのアプリ化もどんどん流行ってきそうな予感がしますね。

もう数ヶ月もしたら Web とアプリの垣根はなくなりそうだなーと思いつつ、今日このごろです。

© 2018 kk-web