Webアプリケーションにおいてデータベースを利用するのは当たり前になっています。しかしWebアプリケーション化が進んでいる現在、サーバとのデータ送受信においてはAjaxを使わなければなりません。 Gunはそんな構成をもっとシンプルで分かりやすくしてくれます。各Webブラウザごとにデータベースを持ち、かつそれを自動的に同期してくれるソフトウェアです。

Gunの使い方

デモはこんな感じのタスクリストになります。

GunはlocalStorageにデータを保存しつつ、その実体をAmazon S3などに持ちます。そして自動的にデータを更新する仕組みになっています。データは他のデバイスとも自動的に同期される仕組みなので、データベースのDropbox版と銘打たれているのはまさにその通りと言った感じです。

もしローカルにあるデータのみを参照すればよく、データについては自動的にGunが取得、更新してくれるとすればオフラインファーストなシンプルなシステムが作れるかも知れませんね。

Gunはnode/JavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

gunjs.herokuapp.com gundb.io/ amark/gun