1 つの明示的なサイクル。
状態依存の値。依存グラフもスケジューラーもありません。いつ実行するかはあなたが決めます - データから画面までの、予測可能な 1 本の道。
- 01変更
データを変える
状態はプレーンな JavaScript です: 変数、配列、オブジェクト。好きなように、好きなだけ変更してください。
todos.push(newTodo) user.name = 'Ada' - 02コミット
update() を呼び出す
1 つのグローバル関数が変更をコミットします。十数回の変更をまとめて、一度だけコミットします。あなたが言うまで何もレンダリングされません。
update() - 03パッチ
Nuclo が DOM を同期する
すべての動的な式が再評価されます。Nuclo は実際に変わった値だけを DOM に書き込みます。diff も再レンダリングもありません。
// 2 ノードがパッチされ、 // 残りはそのまま
状態を変更しても、何も起こりません。update() を呼び出すと、Nuclo は求められたことだけを正確に行います。それ以上でも、それ以下でもありません。暗黙より明示
プロキシがあなたの一挙一動を追跡することはありません。状態を変更し、それから
update()を呼び出します。原因と結果が明確で予測可能なままです。自由にまとめて、一度だけ更新
10 回変更してから、
update()を一度だけ呼び出します。DOM が見るのは最終状態だけ。無駄なレンダリングはありません。コンポーネントではなく関数
プレーンな JavaScript の関数で構築します。Nuclo にはクラスも、デコレーターも、特別な構文も必要ありません。各関数は DOM ノードを返します。
onMountとonDestroyは、必要なときだけ通常の修飾子として追加します。
明快さのために。
魔法なし。驚きなし。すべての更新は意図的です。
- 01明示的
更新サイクルはあなたのもの
自由に変更し、それから
update()を一度だけ呼び出します。Nuclo にはサブスクリプションもスケジューラーも必要なく、予期しない diff であなたを驚かせることもありません。DOM はあなたが決めたときに同期します。 - 02軽量
依存関係ゼロ
コアランタイムは gzip 圧縮時で約 18.4 KB。Nuclo にはコンパイラーもビルドプラグインも必要ありません。import を 1 行追加して構築を始めましょう。
- 03型付き
TypeScript ファースト
完全に型付けされた 175 個の HTML および SVG ビルダーが、すべての属性、スタイルプロパティ、イベントに自動補完を提供します。
- 04精密
きめ細かなパッチ
動的な式は
update()時に再評価されます。実際に変わった値だけが DOM に触れます。
重要なところで速い。
これは js-framework-benchmark による独立した数値で、数千行の作成、更新、入れ替え、クリアを測定したものです。
- Nuclo0.2.241.12
- Solid1.9.31.13
- Svelte5.42.11.17
- Vue3.5.391.31
- Riot10.1.21.54
- React19.2.01.58
- Angular22.0.01.58
- Stencil4.23.01.81
- Ember7.3.0-alpha.52.06
- Knockout3.5.12.26
- Qwik1.11.03.29