NUCLO / 12

言語

Nuclo v0.3.29 · 依存関係ゼロ

明示的な
インターフェースを
nuclo で構築。

小さく型安全な DOM フレームワーク。状態はプレーンでミュータブルなまま。すべての更新をあなたが制御します。プロキシも、シグナルも、仮想 DOM もありません。

$npm create nuclo@latest
0
依存関係
175
型付き HTML & SVG ビルダー
~18.4KB
gzip 圧縮時、コアランタイム
01/09 · update()
描いて、パッチする
stateplain array · tap or dragupdate()domreal nodes
0 mutations · 0 update() · 0 patched
01/09 · update()
描いて、パッチする

1 つの明示的なサイクル。

状態依存の値。依存グラフもスケジューラーもありません。いつ実行するかはあなたが決めます - データから画面までの、予測可能な 1 本の道。

  1. 01変更

    データを変える

    状態はプレーンな JavaScript です: 変数、配列、オブジェクト。好きなように、好きなだけ変更してください。

    todos.push(newTodo) user.name = 'Ada'
  2. 02コミット

    update() を呼び出す

    1 つのグローバル関数が変更をコミットします。十数回の変更をまとめて、一度だけコミットします。あなたが言うまで何もレンダリングされません。

    update()
  3. 03パッチ

    Nuclo が DOM を同期する

    すべての動的な式が再評価されます。Nuclo は実際に変わった値だけを DOM に書き込みます。diff も再レンダリングもありません。

    // 2 ノードがパッチされ、 // 残りはそのまま
状態を変更しても、何も起こりません。update() を呼び出すと、Nuclo は求められたことだけを正確に行います。それ以上でも、それ以下でもありません。
  1. 暗黙より明示

    プロキシがあなたの一挙一動を追跡することはありません。状態を変更し、それから update() を呼び出します。原因と結果が明確で予測可能なままです。

  2. 自由にまとめて、一度だけ更新

    10 回変更してから、update() を一度だけ呼び出します。DOM が見るのは最終状態だけ。無駄なレンダリングはありません。

  3. コンポーネントではなく関数

    プレーンな 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 による独立した数値で、数千行の作成、更新、入れ替え、クリアを測定したものです。

js-framework-benchmark · keyed低いほど良い
  1. Nuclo0.2.24
    1.12
  2. Solid1.9.3
    1.13
  3. Svelte5.42.1
    1.17
  4. Vue3.5.39
    1.31
  5. Riot10.1.2
    1.54
  6. React19.2.0
    1.58
  7. Angular22.0.0
    1.58
  8. Stencil4.23.0
    1.81
  9. Ember7.3.0-alpha.5
    2.06
  10. Knockout3.5.1
    2.26
  11. Qwik1.11.0
    3.29
このスコアは、測定された最速の実装に対する所要時間の遅さを示します。すべての keyed ベンチマークの加重幾何平均です。出典: js-framework-benchmark

準備ができたら、いつでも。

Nuclo をインストールし、一度 import して、あなたが言ったとおりに正確に更新される UI を届けましょう。API 全体は午後の半日で学べます。

$npm create nuclo@latest