【すべると】

Svelte とは?

最終更新:
💡 UI部品を、画面を動かすコードへ仕立てる

HTML・CSS・JavaScriptで書いたUI部品を、コンパイラで画面を動かすJavaScriptへ変換するUIフレームワーク。値の変化に応じた画面更新を記述できる。

📌 このページのポイント
Svelte:UI部品から動く画面へUI部品HTML・CSS・JS.svelte画面のコードJavaScript実行時の処理もある変換状態:count$state(0)クリック 0 → 1値が変わると、表示も変わる
runesモードの状態とカウンターのイメージ。コンパイルしても実行時の処理は必要です。SvelteKitはWebアプリ全体の機能を担います。
ひよこ ひよこ
Svelteって、何を作る道具?
ペンギン先生 ペンギン先生
Webの画面にあるボタンや入力欄などを、部品として作るためのUIフレームワークだよ。HTML・CSS・JavaScriptで書いた部品を、コンパイラが画面を動かすJavaScriptへ変換するのが特徴なんだ。
ひよこ ひよこ
ビルドで全部消えて、実行時のコードは要らなくなるの?
ペンギン先生 ペンギン先生
画面を動かすコードは必要だよ。Svelteにも、部品を表示したり、状態の変化を処理したりする実行時の仕組みがあるんだ。「コンパイラを使う」ことを、「ブラウザにはフレームワーク由来のコードが一切残らない」という意味で覚えないようにしよう。
ひよこ ひよこ
ボタンを押すと数字が増える画面も作れる?
ペンギン先生 ペンギン先生
作れるよ。runesモードでは、たとえば `let count = $state(0)` で画面に反映する状態を作り、クリックでcountを増やすんだ。値の変化が表示に反映されるので、数字の表示を毎回手作業で書き換える必要はないね。
ひよこ ひよこ
古い例には、let count = 0だけのものもあるよ?
ペンギン先生 ペンギン先生
Svelteのlegacyモードでは、部品の最上位で宣言した変数の代入などを、画面更新につなげる書き方が使えるよ。runesモードでは$stateを使うんだ。例を読むときは、どちらのモードの説明か確かめると混乱しにくいね。
ひよこ ひよこ
SvelteKitも同じものなの?
ペンギン先生 ペンギン先生
SvelteはUI部品を作る道具で、SvelteKitはそれを使ってWebアプリ全体を作るためのフレームワークだよ。ページのルーティングやサーバー側での描画などを扱うんだ。用途に合わせて選び、速度や配信サイズは実際のアプリで確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Svelte」って出てきたら「UIの部品を、画面を動かすコードに変換してくれる道具」と思えばだいたいOK!
📖 おまけ:英語の意味
「Svelte」 = コンパイラを使うUIフレームワークの名前
💬 公式ドキュメントは、HTML・CSS・JavaScriptで書いた部品を最適化されたJavaScriptへ変換する仕組みとして紹介しているよ

参考資料

← 用語集にもどる