いよいよ WordCamp Tokyo 2018 開幕!
今日、9月14日は僕は仕事で行けないけど、Contributer Day が開催されています。
僕のセッションは15日の14時から!
PWA についての入門的な解説と、先月リリースしたプラグイン「PWA for WordPress」を利用した、自由度の高い PWA の実装についてデモをしてきます。

せっかくだからちょっと先出しで、プラグイン「PWA for WordPress」を作ったいきさつをご紹介します。

多くの人が使っているWordPress。
世界のアクセス数上位1000万サイトのうち、3割が WordPress で作られたサイトなんだそうです。
それだけに WordPress の使い道は千差万別、いろんな使われ方をしています。
ブログや情報発信、ECサイト、コーポレートサイト、写真、いろんなサイトがあり、いろいろな用途に向けたデザインテンプレートや機能拡張のプラグインも数多く配布されています。

そんな WordPress ですが、ほとんどのサイトのページ構成は、サーバーサイドで生成されるため、ひとつのページはひとつのHTMLファイルになっていることがほとんどです。

何言ってんだ?ってちょっと思われそうなのですが、PWA を構成する上で、最も重要な要素となるのはキャッシュの制御です。
PWA はブラウザ側でのキャッシュを有効に活用することでネットワークに依存しないアプリライクな挙動を実現します。
しかしながら、情報の鮮度が問われるコンテンツでは、常にオンラインから最新の情報を得られなければ成立しないもの、あるいは即時性は必須でなくとも、一定期間で更新されないと困る、といったものも多々あります。

そんなときに、何も考えずにキャッシュして、リクエストに応じてキャッシュを表示していたのではコンテンツはひたすら凍結状態、となってしまいます。

そこで「PWA for WordPress」です。
こうしたコンテンツの「凍結」に簡単に適応できるプラグインがなかったので作っちゃいました。
やりたかったことは大きく2つ、

  • キャッシュの有効期限を設定できること
  • 自由なキャッシュの除外設定ができること

この2点です。

これがあればいろんなタイプの WordPress サイトにフィットした PWA を組める自由度は飛躍的に上がると思います。

もうちょっと、より自由に PWA を構成できるようにするための工夫を実装したいと思ってますが、そのあたりはまた別の機会に。

WordPress の簡単な PWA 化について、WordCamp Tokyo 2018 で詳しく解説します。
ぜひ15日は会場へお越しください!

WordCamp Tokyo 2018
https://2018.tokyo.wordcamp.org/

PWA for WordPress
https://wordpress.org/plugins/pwa4wp/