NUCLO / 12

Langue

Nuclo v0.3.29 · zéro dépendance

Construisez des interfaces
explicites avec
nuclo.

Un petit framework DOM typé. L'état reste ordinaire et mutable. Vous contrôlez chaque mise à jour. Ni proxies, ni signaux, ni DOM virtuel.

$npm create nuclo@latest
0
dépendance
175
constructeurs HTML et SVG typés
~18.4Ko
gzippé, runtime de base
01/09 · update()
Peignez, puis patchez
stateplain array · tap or dragupdate()domreal nodes
0 mutations · 0 update() · 0 patched
01/09 · update()
Peignez, puis patchez

Un seul cycle explicite.

Des valeurs dépendantes de l'état, sans graphe de dépendances ni ordonnanceur. Vous décidez quand elles s'exécutent - un seul chemin prévisible de vos données à l'écran.

  1. 01Muter

    Changez vos données

    L'état est du JavaScript ordinaire : variables, tableaux, objets. Mutez-le comme vous voulez, autant de fois que vous voulez.

    todos.push(newTodo) user.name = 'Ada'
  2. 02Valider

    Appelez update()

    Une seule fonction globale valide vos changements. Groupez une douzaine de mutations, puis validez une fois. Rien n'est rendu tant que vous ne le dites pas.

    update()
  3. 03Patcher

    Nuclo synchronise le DOM

    Chaque expression dynamique est réévaluée. Nuclo n'écrit dans le DOM que les valeurs qui ont réellement changé. Ni diff, ni re-rendu.

    // 2 nœuds patchés, // tout le reste intact
Quand vous mutez l'état, rien ne se passe. Appelez update(), et Nuclo fait exactement ce que vous avez demandé. Ni plus, ni moins.
  1. L'explicite vaut mieux que l'implicite

    Aucun proxy ne surveille vos moindres gestes. Vous mutez l'état, puis vous appelez update(). La cause et l'effet restent clairs et prévisibles.

  2. Groupez librement, mettez à jour une fois

    Faites dix mutations, puis appelez update() une fois. Le DOM ne voit que l'état final. Aucun rendu n'est gaspillé.

  3. Des fonctions, pas des composants

    Construisez avec des fonctions JavaScript ordinaires. Nuclo n'a besoin ni de classes, ni de décorateurs, ni de syntaxe spéciale. Chaque fonction retourne des nœuds DOM. Ajoutez onMount et onDestroy comme des modificateurs ordinaires, seulement quand vous en avez besoin.

Conçu pour la clarté.

Pas de magie. Pas de surprises. Chaque mise à jour est intentionnelle.

  • 01Explicite

    Vous possédez le cycle de mise à jour

    Mutez librement, puis appelez update() une fois. Nuclo n'a besoin ni d'abonnements ni d'ordonnanceurs, et il ne vous surprend jamais avec un diff. Le DOM se synchronise quand vous le décidez.

  • 02Léger

    Zéro dépendance

    Environ 18.4 Ko gzippé pour le runtime de base. Nuclo n'a besoin ni de compilateur ni de plugins de build. Ajoutez un import et commencez à construire.

  • 03Typé

    TypeScript d'abord

    175 constructeurs HTML et SVG entièrement typés vous donnent l'autocomplétion pour chaque attribut, propriété de style et événement.

  • 04Précis

    Patch à grain fin

    Les expressions dynamiques sont réévaluées à update(). Seules les valeurs qui ont réellement changé touchent le DOM.

Rapide là où ça compte.

Ce sont des chiffres indépendants issus de js-framework-benchmark, pour la création, la mise à jour, l'échange et la suppression de milliers de lignes.

js-framework-benchmark · keyedPlus bas, c'est mieux
  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
Ce score est le ralentissement de durée par rapport à l'implémentation la plus rapide mesurée. C'est une moyenne géométrique pondérée de tous les benchmarks keyed.Source : js-framework-benchmark

Prêt quand vous l'êtes.

Installez Nuclo, importez-le une fois et livrez des interfaces qui se mettent à jour exactement quand vous le dites. Vous pouvez apprendre toute l'API en un après-midi.

$npm create nuclo@latest