Сегодня фронтенд-разработка часто ассоциируется с тяжёлыми сборочными пайплайнами: Webpack, Vite, Babel, сотни зависимостей, настройка линтеров и бесконечные конфигурации. Но на сцене появился проект, который идёт в противоположную сторону — Dagger.js.
🗡️ Что это такое?
Dagger.js — это минималистичный JavaScript-микрофреймворк, который работает без сборки и запускается прямо в браузере. Достаточно подключить скрипт через <script> в HTML, и вы сразу можете создавать реактивные компоненты.
🔑 Основные особенности
- 🚀 Buildless — никакой сборки, всё работает из коробки.
- 🕹 Runtime-only — всё вычисляется во время исполнения.
- 📦 Минимальный размер — нет сторонних зависимостей, не нужен npm-ад.
- ⚙️ Декларативность — данные и события можно описывать прямо в HTML-атрибутах.
- 🌐 Поддержка Web Components — например, Shoelace интегрируется без боли.
🛠 Как это выглядит
Фреймворк предлагает директивы, которые навешиваются прямо на теги:
- 🔄 *each — цикл по коллекциям
- 🎨 *class и *style — динамические классы и стили
- 📝 *text и *html — работа с содержимым
- 🎯 *focus, *checked, *value — управление формами
- 🔔 Жизненные хуки: +load, +unload
Примерно так же когда-то выглядел AngularJS в своей ранней версии, только теперь это всё стало намного легче и компактнее.
💡 Моё видение
Честно говоря, появление Dagger.js кажется глотком свежего воздуха. Сейчас мы привыкли, что даже «тестовое приложение» требует установки Node.js, кучи пакетов и конфигураций. Dagger же возвращает нас к корням: HTML, JS и CSS — и всё.
Но стоит помнить о подводных камнях:
- 🔍 Отсутствие сборки = нет транспиляции. Современные фичи JavaScript могут не поддерживаться в старых браузерах.
- 📉 Минимализм ограничивает масштабируемость — большие SPA-проекты на Dagger вряд ли будут удобны.
- 🔗 Экосистема пока крошечная, придётся многое писать самостоятельно.
Тем не менее, для прототипов, учебных проектов или «малых форм» (мини-сайты, виджеты, внутренние панели) — это идеальный вариант.
🌍 Почему это важно сейчас
Мир веба перенасыщен тяжёлыми инструментами. Dagger.js напоминает нам, что можно писать UI-логику без тонны «devDependencies». Особенно это актуально в эпоху «низкокодовых» решений: простота и скорость внедрения становятся ценнее, чем бесконечная кастомизация.
📚 Ссылки:
- Официальный сайт: daggerjs.org
- Репозиторий GitHub: dagger.js