なんだか少しスランプに陥ってます。
PWAに振りたいけど、ストレージってどうすべき? みたいな。

最近、お仕事がプログラミング以外の部分で忙しすぎて、色々キャッチアップができてない状況。
どの言語で何を作ろう? とか悩み始めちゃってます。
今までだったら手当たり次第作ってたんですが(笑)
特に悩んでるのが、今までネイティブアプリを作っていたシーンで、Webアプリが求められるシーンがめちゃくちゃ増えてきたところ。
JavaScriptかなぁ、TypeScriptにもう少し向き合わないといけないかなぁ、とか、そんな感じで悩んでます。

最近、ブラウザがOS化してきていると思います。
WHAT WEB CAN DO TODAY?を見ていると、いろんな今までだったらネイティブでしかできなかった事が、ブラウザでできるようになってきていて。
実際に、自分がユーザ側で使うアプリも、Webアプリが増えてきました。
さらに、Chromebookを買って拍車がかかっています。
当初はもっとAndroidアプリを使用するかな? と思っていたのですが、予想以上にWebアプリを使ってることに気づいたり。
PWAと、PWAまで行かなくてもServiceWorkerでオフライン対応したページに関しては、ここ1・2年で相当増えた印象です。

今までは割と、AndroidアプリはAndroidアプリとして作る方が満足度が高いに違いないと思っていました。
しかし、この状況だと、PWA含め、Webアプリもかなり良いのではないか。
そんな風に思ってます。

で。
Webアプリで、データの保存に関して真剣に悩み始めました。
ローカルアプリであれば、機種本体に保存しておけば良かったのですが、Webアプリだとそうは行かず。
ブラウザに保存させるといっても、安易にロストしかねないものですし、かといってサーバで管理はしたくない。
これが実に悩みどころで、ずっと悩んでます。
よくPouchDBを使うので、個人的には自分専用CouchDBサーバを立ててレプリケーションして、いろんな端末で同じデータを使用するようにしているのですが、はたして通常のPWAアプリとして制作した場合どう管理すべきか。
Google Driveか何かと連携して、そっちにバックアップするような仕組みにしようかな? とか、色々考えているのですが悩みは絶えません。
いっそ、ブラウザで同期してくれるストレージを確保してくれないかなぁ、とか思ってます。

と、ここまで書いていたところで、お仕事でも、PWA案件(+オフライン対応)が回ってきたので、ちょっとそちらでプロダクションレディーな方法を確立してこようと思います。