PWA

PWAやってみた

初学者のPWAまとめ
https://qiita.com/wingsys/items/cb149499c21bf1af472a

PWAやってみたメモ1
https://qiita.com/wingsys/items/bb5328487f7e1802a981

PWAやってみたメモ2
https://qiita.com/wingsys/items/98cf196ff32237377a23

というわけで、PWAやってみた。

結局どんなん作ったの?

こんなの。

test.png

……ショボいと言わないでくれ。わかってるんだ。
ただ、重要な点が一つある。
勘違いしていたけど、PWA最大の特異性はPushではなく、やっぱりOfflineで動く点だったんだ

一番参考になった資料は?

Google様直々のハンズオンが一番だった。
https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

ソースは……ちょっと出来がアレなので非公開で……

Offlineで動く点 って?

今回、元々はPush通知を利用し、Todoの時間が来た時に通知を出すつもりだった。
しかし、firebaseの理解に手間取ったのでやめた。とにかく動かすことを優先した。

そしてfirebaseにdeployして、AndroidでHomeへ置いてみて、firebase projectを落として気づいた。
サーバ、もうないのに動いてるじゃん

もちろん、これは当然のことだ。
機能を削減したこともあって、今回作ったものはその全てがキャッシュされ、キャッシュとlocalStorageだけで完結するようにしてある。
だから、キャッシュとlocalStorageだけで動いた。それだけのことだ。

test1.png
(Androidのホームに足した状態。左上のオレンジのやつだ。サーバは落としてあるが、この状態でも使えた)

だけど、それが画期的なことなんだと今更気づいたWebアプリが (限定的とはいえ) ローカルオンリーで動くことの意味は小さくない

極端な話、ローカルに寄せたWebアプリを基本無料で売り出して、アップデートはサブスクリプションで、ということだってできる。ということが、作ってみて今更わかった。

作ってみるとわかる。PWA、思ったより、すごい。

(もっとも、キャッシュできる容量の問題もあるし、あまり強烈なものを組むのは難しい。しばらくはネイティブのままだろう、という気もする)