※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。
本書は、シングルページWebアプリケーション(以下SPAと略)を高性能化するブラウザ内DB「PouchDB」についての解説書です。
最近のWebアプリ開発はReactやVueなどのフレームワークの普及に伴い、SPAが一般的になってきました。SPAは、従来サーバーで行ってきた画面のHTML生成や入力チェックなどの処理をブラウザへ分散することで、高速で快適な操作性を実現しています。しかし、実際には以下のような場面で課題が残っています。
● データベースにアクセスすると、サーバーからの応答待ちが発生する
● サーバーのデータ変更が表示中の画面にリアルタイムに反映されない
● オフライン状態(通信圏外など)で、データベースへアクセスできない
いずれの課題も、処理だけでなくデータもブラウザへ分散すれば解決できそうです。しかし、データを分散するとサーバーのデータ変更をブラウザへ反映したり(下り方向の同期)、逆方向のブラウザのデータ変更をサーバーへ反映したり(上り方向の同期)する仕組みがなければ、データに致命的な不整合が発生する恐れがあります。つまり、データを分散するためにはデータ同期機能が不可欠です。
ブラウザ内DBであるPouchDBは、サーバー用DB「CouchDB」と組み合わせることで、データ分散とデータ同期の両方を実現します。本書では、PouchDBの実装方法について、サンプルコードを操作して挙動を確認しながら解説します。