В стандартном DOM отсутствует удобный декларативный механизм создания и обновления фрагментов DOM на основе данных.
Декларативное шаблонизирование обеспечивает лучшую эргономику, защиту от XSS, производительность, возможность статического анализа и серверного рендеринга.
Из-за отсутствия встроенного шаблонизатора пользователи страдают от увеличенного времени загрузки, а приложения — от рисков безопасности.
Разработчикам приходится подключать сторонние библиотеки, что усложняет инструменты, увеличивает вес кода и снижает переносимость знаний между проектами.
Современные нативные платформы (Flutter, SwiftUI, Jetpack Compose) имеют встроенные системы шаблонов, что даёт им преимущество перед веб-платформой.
Сейчас самое подходящее время для добавления API шаблонов в DOM: синтаксис и модели реактивности уже устоялись, доступны Tagged Template Literals и низкоуровневые примитивы.
Предлагается реализовать JavaScript-API на основе Tagged Template Literals с возможностью компиляции JSX в этот API без дополнительной нагрузки на клиент.
Комбинация методов идентичности шаблонов и сигналов обеспечивает гибкое и эффективное обновление DOM.
Реализация потребует спецификации API, доработки DOM Parts, интеграции реактивного планировщика и создания тестового покрытия.
Для продвижения предложения следует участвовать в обсуждении на GitHub (WICG/webcomponents#1069) и сотрудничать с инженерами браузеров.
Get notified when new stories are published for "🇷🇺 Hacker News Русский"