Несовместимые возможности

Dom7 предоставляет компактный набор инструментов для манипуляции DOM-структурами, однако ряд возможностей, привычных разработчику в крупных фреймворках или универсальных утилитарных библиотеках, отсутствует по концептуальному замыслу. Под несовместимыми возможностями понимаются функции, которые либо принципиально не реализуются Dom7, либо требуют сторонних решений.

Расширенные селекторы и собственные псевдоклассы

Dom7 использует базовые CSS-селекторы браузера. Поддержка кастомных псевдоклассов, пространств имён или селекторов по абстрактным состояниям не предусмотрена. В отличие от jQuery, механизм фильтрации элементов ограничивается стандартным API, что исключает подключение пользовательских фильтров через плагины.

Универсальная система событий

Dom7 реализует лишь минимально достаточные методы on, off и once. Отсутствует система пространств имён событий, делегирование по сложным критериям и высокоуровневые утилиты для управления группами слушателей. Нет поддержки пользовательских событий с расширенной информацией о контексте; объект event остаётся браузерным и не переопределяется.

Абстракция над эффектами и анимациями

Dom7 не внедряет собственный движок анимаций. Поддержка CSS-анимаций и переходов остаётся на ответственности браузера, а расширенные сценарии, включая контроль таймингов, кривых ускорения, отмен и цепочек, требуют дополнительных библиотек. Отсутствуют утилиты для оптимизации анимаций и компенсации кадровой частоты.

Обработка данных и шаблонизация

Отсутствуют встроенные инструменты для формирования HTML-шаблонов, привязки данных, вычисления диффов и реактивного обновления интерфейса. Dom7 ограничивается базовыми методами html, text, val и работающими со строками вставками. Шаблонизация переносится на внешние решения или среду исполнения.

Расширяемость и система плагинов

Dom7 допускает ручное расширение прототипа, однако отсутствует формализованная система плагинов с единой моделью жизненного цикла, изоляцией и управлением зависимостями. Это резко снижает возможность безопасного расширения функциональности в масштабных проектах.

Работа с сервером и сетевыми запросами

Dom7 не реализует сетевой стек. Методы для AJAX-запросов, загрузки ресурсов, стриминга или работы с WebSocket не входят в состав библиотеки и должны поставляться внешними модулями. Наличие fetch и других стандартов в браузере не компенсирует отсутствия единой обвязки под Dom7.

Манипуляции стилями и вычисленные свойства

Dom7 обеспечивает доступ к css для установки и чтения простых свойств, но не содержит высокого уровня абстракции для вычисления макета. Такие задачи, как измерение размеров с учётом box-sizing, вычисление позиций, пересечение областей или отслеживание изменений в геометрии, выходят за рамки библиотеки.

Хранение состояния и реактивность

Не предусмотрены механизмы хранения состояния элементов или компонентная модель. Отсутствуют реактивные вычисления, наблюдатели и система подписок, позволяющие автоматически синхронизировать данные и DOM. Поддержка реактивности перекладывается на фреймворки верхнего уровня.

Модульность и сборка

Dom7 ориентируется на минимализм и не внедряет развитую модульную структуру. Отсутствует автоматическое дерево зависимостей, условная компиляция, оптимизация под разные среды выполнения или адаптация под серверный рендеринг. Возможность серверной имитации DOM ограничена внешними инструментами.

Несовместимость с крупными архитектурными подходами

Использование Dom7 в архитектурах, основанных на виртуальном DOM, компонентных системах или унифицированных сторонах данных, приводит к конфликтам. Dom7 предполагает непосредственную манипуляцию реальным DOM, что делает его несовместимым с стратегиями, где управление деревом выполняет абстракция поверх браузера.

Интерактивность и управление состоянием ввода

Сложные сценарии взаимодействия, включая управление фокусом, клавиатурной навигацией, доступность (ARIA), обработку жестов и интеграцию с устройствами ввода, не включены в набор возможностей Dom7. Реализация таких механизмов требует специализированных библиотек.

Итого о несоответствиях возможностей

Минималистичный дизайн Dom7 порождает несовместимость с задачами, где ожидаются высокоуровневые слои абстракции, расширенная событийная модель, набор плагинов и развитые архитектурные решения. Несовместимые возможности формируют границу применения библиотеки, сохраняя её компактность, но ограничивая универсальность.