Создавайте интерфейсыс явными обновлениямина nuclo.
Небольшой типобезопасный DOM-фреймворк. Состояние остаётся обычным и изменяемым. Вы управляете каждым обновлением. Без прокси, сигналов и виртуального DOM.
Один явный цикл.
Значения зависят от состояния, но графа зависимостей и планировщика нет. Вы решаете, когда их вычислять: один предсказуемый путь от данных до экрана.
- 01Изменение
Измените данные
Состояние — обычный JavaScript: переменные, массивы, объекты. Меняйте его как угодно и сколько угодно раз.
todos.push(newTodo) user.name = 'Ada' - 02Применение
Вызовите update()
Одна глобальная функция применяет изменения. Внесите несколько изменений, затем примените их одним вызовом. До вашей команды ничего не рендерится.
update() - 03Обновление
Nuclo синхронизирует DOM
Каждое динамическое выражение вычисляется заново. Nuclo записывает в DOM только действительно изменившиеся значения. Без сравнения деревьев и повторного рендеринга.
// изменены 2 узла, // всё остальное не затронуто
Когда вы изменяете состояние, ничего не происходит. Вызовите update(), и Nuclo сделает ровно то, что вы попросили. Ни больше ни меньше.Явное лучше неявного
Прокси не отслеживают каждый ваш шаг. Вы изменяете состояние, затем вызываете
update(). Причина и следствие остаются ясными и предсказуемыми.Меняйте свободно, обновляйте один раз
Внесите десять изменений, затем один раз вызовите
update(). DOM увидит только итоговое состояние. Лишнего рендеринга нет.Функции вместо компонентов
Используйте обычные функции JavaScript. Nuclo не требует классов, декораторов и специального синтаксиса. Каждая функция возвращает узлы DOM. Добавляйте
onMountиonDestroyкак обычные модификаторы, только когда они нужны.
Создано для ясности.
Без магии и сюрпризов. Каждое обновление намеренно.
- 01Явность
Вы управляете циклом обновления
Меняйте состояние свободно, затем один раз вызывайте
update(). Nuclo не требует подписок и планировщиков и не удивляет неожиданным сравнением деревьев. DOM синхронизируется по вашему решению. - 02Лёгкость
Без зависимостей
Ядро среды выполнения занимает около 18.4 КБ в gzip. Nuclo не требует компилятора и плагинов сборки. Добавьте один импорт и начинайте.
- 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
Начинайте, когда будете готовы.
Установите Nuclo, импортируйте один раз и создавайте UI, который обновляется ровно по вашей команде. Весь API можно изучить за полдня.