⛩️
React Server Componentsの実装を最小限で実現するWaku v0.17.0をリリースしました
RSC(=React Server Componentsですが概念より実装の意味)の機能はほとんどReactのライブラリに備わっていますが、それをライブラリとしてそのまま使うことは難しいです。バンドラーとの連携が必要なこともありますが、一番大きいのは"react-server"というconditionでNode(に限らずですが)を動かさないといけないことです。
そこで、Wakuというフレームワークを開発中です。フレームワークと呼ぶのが正しいかは微妙です。Reactのライブラリに足りないものを補うことが狙いです。
v0.17.0ではSSRを導入しました。これまでもSSRもどきを実装していたのですが、他のフレームワークと比較できるレベルにするには同等のSSRが必要ということで、今回新たに実装し直しました。ちなみに、SSRだけの実装はReactの関数を呼び出すだけなのでとても簡単ですが、RSCの上でのSSRの実装は非常に面倒でした。そのあたりも別途記事にできればと思います。
WakuはRSCとの橋渡しをするだけの小さい実装を目指しているのですが、それでも色々やっていると大きくなってきました。主にVite周りの機能不足によるものですが。
src/router/...
はwaku/router
の実装なので無視するとしても、サッと読めるサイズは超えてしまった印象です。
ちなみに、RSCを最小限で動かす取り組みはいくつかあって、最近増えてきた印象です。
あと、最小限ではないものの似たような取り組みも。
ライバル多し!
最後に、Wakuのemojiは⛩になりました。
Discussion