hysryt / wiki

https://hysryt.github.io/wiki/
0 stars 0 forks source link

Svelte #138

Open hysryt opened 4 years ago

hysryt commented 4 years ago

https://svelte.dev/ https://github.com/sveltejs/svelte

hysryt commented 4 years ago

概要

Webアプリを構築するフレームワーク。 React や Vue と比べてかなり速いらしい。

Rich Harris 氏個人によるプロジェクト。

React や Vue との一番の違いは、ライブラリではなくコンパイラであるということ。 コンポーネントである *.svelte ファイルをコンパイルし、*.html*.css*.js ファイルを生成する。 コンパイル後のファイルだけで成立するため、実行時のライブラリ依存がない。

実行時のライブラリ(ランタイム)が必要ないということはそれだけ実行時間が減るということになる。

hysryt commented 4 years ago

仮想DOM

Svelte では仮想DOMは使ってない。 仮想DOMはある程度速いがベストではない。 差分比較やコンポーネントを更新した時の値の再計算はオーバーヘッドとなる。

React の当初の説明でも仮想DOMよりDOM APIを使って直接触る方が高速、と言っているとのこと。

仮想DOMのメリットはある程度高速で、扱いやすく、プラットフォームに依存しないこと。(直接DOM APIを触る必要がない) Svelte は事前にコンパイルすることで仮想DOMを使わず、さらにこれらのメリットも持ち合わせている。

https://svelte.dev/blog/virtual-dom-is-pure-overhead