フロントエンドの気になる技術
kuma-ui
最近流行りのzero runtime css-in-jsにutility-firstを足したもの
utility-firstはtailwindやChakra-UIみたいにインラインでいい感じにスタイルを書くやつのこと
zero runtime cssは従来のcss-in-js (emotion等) のように実行時にスタイルを生成するのではなく、ビルド時にCSSを生成するcss-in-jsのこと
実行時生成のパフォーマンス上のデメリットがあったり、DOMの形が想定とズレたりといった問題を解消する
対応していればだが、RSC (React Server Component)で使えるというのもzero runtimeの魅力
zero runtime cssの有名どころだとLinariaやvanilla-extractがある
インラインで書けるzero runtime css-in-jsとしては他にcompiledがあるが、RSC対応しているかは不明
Typebox
zodやyupみたいな位置づけで速いやつ
typescript-runtime-type-benchmarksで知ったがzodは遅いらしい
しかもzodはtree-shakingにも弱いという噂
ベンチマークの速いやつの中でフレンドリーな感じがしたのがTypebox
Fastifyも推してるっぽい
他に同じ位置づけで気になるライブラリとしてlizodがある
サイズの小さいzodとのこと
追記
valibot というlizodと似た位置づけのライブラリが現れた
React Server Component (RSC)
上で既に出てきているが、Reactのコンポーネントをサーバー側でレンダリングする機能のこと
あんまりよくわかってないが現時点での理解
HTMLをサーバー側でレンダリングするSSRとは別
RSCはReactのコンポーネントをサーバー側でレンダリングして、いい感じのフォーマットでコンポーネントを送信する技術
サーバー側でコネコネするのでフレームワーク前提になる
コンポーネントをasyncにできて、その場合Suspenseと組み合わせるらしい?
サーバー側でレンダリングするのでレンダリングに必要なコードをクライアントに送る必要がないらしい
DBの近くでコンポーネントを作れるのもメリットか?
制約として状態は持てない、クライアントコンポーネント
(通常のコンポーネント) の子コンポーネントにできない (クライアントコンポーネント内部に直接書けないだけで、childrenとして渡すことはできる) といったものがある
Tanstack Start
TanstackのRemix[1]やNext.jsみたいなポジションのライブラリ
【2024年】React Router & TanStack Router比較を読んだ感じTanstack RouterはReact Routerよりよさそうなので、Tanstack StartもRemixより良いのではと期待している。
-
そろそろRemixという名前は消えるけど ↩︎