アドベントカレンダーが空いたので明日の記事もまだ書いてないけど乱入!
何の話?
もう半年くらい前に社内で WebTransport を使った通信を体験できるハンズオンを実施しました。持ち時間20分で!
WebTransport の雑な説明込みで20分だったのでハンズオンは10分くらい。
半年経ちましたが、WebTransportをここまで短時間に超簡単に試せる環境はそれなりにまだ需要あるかな?と思うので、いまさら感はあるけど公開。
資料はこちら。
概要
node.js 版 WebTransport サーバー fails-components/webtransportを簡単に立てられるようにしたラッパーライブラリpowt を書いたので、それを使ったexample を動かす、というもの。
webTransportってstream APIが多重構造になってて、なかなか初見殺しなんですよね。そのあたりをイベントドリブンに隠蔽してWebSocketっぽく使えるようにしている。
ハンズオンの手順としては
- 証明書をインストール
- npm から example をインストール
- サーバーを起動してローカル環境で WebTransport通信を試す
というものでした。
コードは書きません!(なんだそのハンズオンwwww)
環境を作るのもメンドクサイ人へ
こちらから試せます。
今後の展開
webTransportってまだiPhoneで使えないんですよね。
来年くらいには使えるようになるといいな!という感じですけど、2024年12月時点での can i use でこんな感じ
というわけで、スマホでも使えるようなアプリでこれ単体(前提)で採用はまだ難しい。
WebSocketにフォールバックするように powt をラッパーするライブラリを描かないと自分であまり使えないな。と思ってるところ。
socket.io 使えよ。という声が聞こえてきそうだけど、これ結構動かすの大変なので、powt を書いたという順番だったりもする。
リアルタイムアプリケーションにはかなり有望な通信手段なので、2025年はもう少し積極的に使っていこうと思います!