本文へスキップ

SaaSにリアルタイム更新を、ホスト型のリアルタイムサービスなしで

最終更新:

Seedは、保存された変更を自前のAPIからWebSocketで、グループの開いているすべてのタブに送ります。あるウィンドウで保存したメモは、再読み込みなしで1秒以内にほかのウィンドウにも表示されます。自分のサーバーで動くので、料金のかかるリアルタイムサービスは不要です。追加した機能も、メモの例をコピーすればこの仕組みを使えます。

できること

  • 標準のWebSocketで、すべての変更に連番付き
  • スリープから復帰したタブは再接続し、見逃した分を取得
  • リアルタイムはオフにもできます。その場合アプリは一定間隔でポーリングし、同じように動きます

仕組み

各書き込みはグループの次の連番とともにコミットされ、APIはそれを各メンバーの開いているソケットに送ります。タブが変更を適用するのは、その番号が手元の最後の番号の次であるときだけです。番号が飛んでいれば、カーソル以降のすべてをサーバーに問い合わせるので、メッセージが1つ失われてもリクエストが1回増えるだけで、リストが間違うことはありません。

スリープから復帰したノートPCは再接続し、見逃した分を取得します。ソケットをオフにすると、アプリはHTTPで読み書きし、30秒ごとに変更を確認します。

左のウィンドウで保存したメモが、再読み込みなしで1秒以内に右のウィンドウに表示されます。
2つのウィンドウ、1つのアカウント。片方で保存すると、もう片方が自動で更新されます。

よくある質問

Seedはリアルタイムで更新されますか?

はい。保存した変更は、再読み込みなしで1秒以内に、グループの開いているすべてのタブに表示されます。

PusherやAblyなどのリアルタイムサービスは必要ですか?

いいえ。WebSocketは、自分のサーバー上でSeed自身のAPIが提供します。

ノートPCがスリープしたあと、タブは追いつきますか?

はい。再接続して、手元にある最後の変更以降のすべての変更を取得します。

リアルタイムをオフにできますか?

はい。SPA_REALTIME=falseを設定してください。アプリは30秒ごとに変更を確認するようになり、同じように動きます。

1分で動くところを見てみましょう

デモは、初日から手に入るアプリそのものです。登録なしで開けて、ゲストアカウントには最初からサンプルデータが入っています。

ほかの機能

ログイン

パスキー、メールのログインリンク、Google、GitHub、2段階認証。認証サービスは不要です。

ログインについて詳しく読む

グループとロール

閲覧者からオーナーまでのロール付きグループ、招待、アクティビティログ。

グループとロールについて詳しく読む

課金

無料プラン、トライアル、猶予期間付きの、メンバー単位のStripe課金。

課金について詳しく読む

すべての機能 Seedとほかのスターターの比較