😰
(bun + oxlint + oxlint-tsgolint + vite8) * (react-compiler vs svelte)
(bun + oxlint + tsgo + vite8) * (react-compiler vs svelte)
初投稿です。
最近のツールチェインを味見してキャッチアップ
この前のカンファで隣の人からoxcが熱いと聞いたので。どれだけ辛いのか体験
本記事はLabBaseアドベントカレンダー2025の17日目の記事です。
結論
| ツール | 評価 |
|---|---|
| bun | ❤️ |
| oxlint | 😁 |
| oxlint-tsgolint | 🤮 |
| vite8 | 😁 |
| react-compiler | 🫠 |
| svelte | 😉 |
bun
他に比べて問題が発生することもなく、爆速インストールを提供してくれました。
普段利用していたvoltaがbunに未対応だったため、ついでにmiseに移行しました。
oxlint + oxlint-tsgolint
plugin:react/recommended みたいな設定プリセットがないので、醜悪な自前プリセットを用意。
categoriesから一括設定するのが正解なのだろうか。
ついでに導入したoxlint-tsgolintはtsgoを引っ提げて大暴れしました。
monorepoだと型がうまく繋がらなかったり、svelteの型解釈間違えたりと。
ちょっと当分は触りたくないです。
Vite 8
意外と問題なく動作している?
爆速ビルドで快適です。
React Compiler と Svelte
自動的に強烈なメモ化がマジカルに行われるところは両者共通。
メモ化の挙動を体で覚える必要がある気がする。
React Compilerはuse-no-memoを使って挙動を確認すると良い。
バンドルサイズ
- React: 194 KB
- Svelte: 39 KB
ここはSvelteさまさまです。
Web Animation APIを過剰に使って似たような実装を用意しましたが、DOMのレンダリングを比較すべきところフレームワークを無視して直接animationを弄っているため、あまり差が出ず失敗でした。
しかもメモリリークしている
まとめ
気軽に新技術を導入するのはやめようね!
時間がなくてできなかったけど、本当はwasmからマルチスレッドでレンダリングをしたかった…。
なお弊社では新技術を積極的に採用しています!
Discussion