NUCLO / 12

Idioma

Nuclo v0.3.29 · zero dependências

Construa interfaces
explícitas com
nuclo.

Um framework DOM pequeno e type-safe. O estado permanece simples e mutável. Você controla cada atualização. Sem proxies, sem signals, sem DOM virtual.

$npm create nuclo@latest
0
dependências
175
construtores HTML e SVG tipados
~18.4KB
em gzip, runtime principal
01/09 · update()
Pinte, depois aplique
stateplain array · tap or dragupdate()domreal nodes
0 mutations · 0 update() · 0 patched
01/09 · update()
Pinte, depois aplique

Um ciclo explícito.

Valores dependentes de estado, sem grafo de dependências, sem agendador. Você decide quando eles rodam - um único caminho previsível dos seus dados até a tela.

  1. 01Mutar

    Altere seus dados

    O estado é JavaScript simples: variáveis, arrays, objetos. Mute-o como quiser, quantas vezes quiser.

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

    Chame update()

    Uma função global confirma suas alterações. Agrupe uma dúzia de mutações e confirme uma vez. Nada renderiza até você mandar.

    update()
  3. 03Aplicar

    O Nuclo sincroniza o DOM

    Cada expressão dinâmica é reavaliada. O Nuclo escreve no DOM só os valores que realmente mudaram. Sem diffing, sem re-renderizações.

    // 2 nós atualizados, // todo o resto intocado
Quando você muta o estado, nada acontece. Chame update(), e o Nuclo faz exatamente o que você pediu. Nem mais, nem menos.
  1. Explícito é melhor que implícito

    Nenhum proxy rastreia cada passo seu. Você muta o estado e depois chama update(). Causa e efeito permanecem claros e previsíveis.

  2. Agrupe à vontade, atualize uma vez

    Faça dez mutações e chame update() uma vez. O DOM vê apenas o estado final. Nenhuma renderização é desperdiçada.

  3. Funções, não componentes

    Construa com funções JavaScript simples. O Nuclo não precisa de classes, decorators nem sintaxe especial. Cada função retorna nós do DOM. Adicione onMount e onDestroy como modificadores comuns, só quando precisar.

Feito para a clareza.

Sem mágica. Sem surpresas. Cada atualização é intencional.

  • 01Explícito

    Você é dono do ciclo de atualização

    Mute à vontade e chame update() uma vez. O Nuclo não precisa de assinaturas nem de agendadores, e nunca te surpreende com um diff. O DOM sincroniza quando você decide.

  • 02Leve

    Zero dependências

    Cerca de 18.4 KB em gzip para o runtime principal. O Nuclo não precisa de compilador nem de plugins de build. Adicione um import e comece a construir.

  • 03Tipado

    TypeScript em primeiro lugar

    175 construtores HTML e SVG totalmente tipados dão autocompletar para cada atributo, propriedade de estilo e evento.

  • 04Preciso

    Patching granular

    Expressões dinâmicas são reavaliadas no update(). Só os valores que realmente mudaram tocam o DOM.

Rápido onde importa.

Estes são números independentes do js-framework-benchmark, para criar, atualizar, trocar e limpar milhares de linhas.

js-framework-benchmark · keyedMenor é melhor
  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
Esta pontuação é a lentidão relativa à implementação mais rápida medida. É uma média geométrica ponderada de todos os benchmarks keyed.Fonte: js-framework-benchmark

Pronto quando você estiver.

Instale o Nuclo, importe uma vez e entregue UIs que atualizam exatamente quando você manda. Dá para aprender toda a API em uma tarde.

$npm create nuclo@latest