TL;DR
Svelte のメタフレームワーク。React における Next.js、Vue における Nuxt にあたる。
なぜ必要か
Svelte は UI コンポーネントを書くための仕組みで、コンパイラがコンポーネントを JavaScript と CSS に変換する。Svelte だけでもページ全体を描画できるが、アプリケーションを作るにはルーティングやビルドの最適化などが別に必要になる。SvelteKit はその部分を提供する。
仕組み
- リンクをクリックしたときに UI を更新するルーター
- 必要最小限のコードだけを読み込むビルドの最適化
- オフライン対応と、遷移前のページのプリロード
- サーバサイドレンダリング、クライアントサイドレンダリング、ビルド時のプリレンダリングを、アプリの部分ごとに選べる設定
- 画像の最適化
開発には Svelte プラグインを入れた Vite を使い、Hot Module Replacement でコードの変更がすぐにブラウザに反映される。