Svelte 5: Runes 公開
(svelte.dev)- Svelte 5 が Runes という機能を導入し、JavaScript のリアクティビティを向上
- 2019 年の Svelte 3 は JavaScript を Reactive な言語へと変えた
- コンパイラを使って宣言的コンポーネントを最適化された JavaScript に変換
- Runes はこの Reactivity をあらゆる場所に適用
let count = $state(0);のように関数の形で適用- Compile-time Reactivity から Runtime Reactivity へ
- Runes によってリアクティビティが
.svelteファイルの境界を越えて拡張され、コンポーネント間でロジックをカプセル化して再利用するプロセスを単純化 - Svelte の新しいバージョンは、かつて Knockout が利用していた Signals ベースで動作。直接的に採用するのではなく内部実装として取り入れているため、実装はやや異なる
$derivedと$effectrunes を導入し、これらが評価される際に式の依存関係を決定して、ランタイムリアクティビティを向上- Runes は複数の既存概念を不要にし、Svelte フレームワークをシンプルにして、アプリをより簡単に構築・保守できるようにする見込み
- 大半のユーザーにとって置き換え可能なプロダクトを目指しており、新機能は選択的に使えるようにして既存コンポーネントが継続して動作することを保証
- まだ Svelte 5 の公開日は決まっておらず、現在も作業が進行中
4件のコメント
Evan You 登場…! https://news.ycombinator.com/item?id=37592471
qwikから多くの影響を受けているようですね
Hacker News の意見
$:の削除を歓迎しており、これが TypeScript ユーザーを助け、構文上の混乱を避けるのに役立つと述べている。ちらっと見た感じ、従来とは方向性も違って見えるし、かなり異質な印象があります。そこまでする必要があるのかとも思いますし、簡潔さも薄れている気がして、Hacker News の反応と同じく少し懸念を感じる部分です。