Svelteについて調べてみた。
Svelteとは
Webアプリケーションフレームワークの1つ。ただ、公式HPではSvelteはコンパイラ
[1]という記述もあり、従来のWebフレームワークとは異なる軸を持っているように思える。
Svelteの特徴
- テンプレート関連
- レンダリング関連
- 仮想DOMを使わない。
- 多分一番の特徴。
- 仮想DOMはイベントドリブンなUI開発を達成するために利用されるが、イベントドリブンなUI開発は必ずしも仮想DOMを必要としない。Svelteでは仮想DOMを使わないことで、より高速なレンダリングを目指している。
- 仮想DOMを使わない。
- 状態管理ライブラリを必要としない。
- Reduxなどを必要としないという意味だと思うが、詳細な説明が書いてなかったので追って調査したい。
個人的な感想
Reactを使っていて無駄にdivや<>が増えてしまうという経験があるので、トップレベル要素を複数記述できるのは、コンポーネントをもう少し柔軟に書くことができそうで地味に嬉しい。
仮想DOMを使わないのは素のJSに近づくということで、仮想DOMを利用することが当たり前の今となっては少し抵抗がある。自分がこれまで経験した開発では仮想DOMが原因で遅くなるということはあまり起きていない(ただ、これは自分の経験が浅いからだと思う)。今すぐReactやVueといった仮想DOMを利用するWebアプリケーションフレームワークが消えるわけではないと思うが、仮想DOMを利用しない流れが増すとは思われる。
References
- [1] svelte.dev:コード量を減らす(Write less code)、Blog、入手先 <https://svelte.jp/blog/write-less-code>
- [2] svelte.dev:Svelte、Svelte公式HP、入手先 <https://svelte.jp>