🙌
Honoで<turbo-stream-source>を動かす
「HonoでTurbo Streamsレスポンスを描画する」をサーバーからのpushにも対応する
要点
- stream sourceに接続することでサーバーからクライアントに描画の指示が出せる
- 例えばグループチャットの実装などに使える
- WebSocketもしくはEventSource(SSE)のエンドポイントを用意する
DEMO(WebSockets版): https://hono-turbo-stream.laiso.workers.dev/
課題
- TurboからのWebSocket接続は切断時の再接続処理を書く必要がある
- Rails実装にヒントがありそうだがまだ調査していない
- Cloudflare Workers上で本格的なリアルタイムなアプリケーションを書くにはサーバーから変更をブロードキャストする仕組みがいる
- (cloudflare/workers-chat-demo)[https://github.com/cloudflare/workers-chat-demo/blob/master/src/chat.mjs] ではWorkersからDurable Objectsのfetchを通してWebSocketのハンドリングを実装している
Discussion