Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

JavaScript-free сайты: возвращение XSL в эпоху «тяжёлого фронтенда»

Кажется, мы привыкли: любое современное веб-приложение тянет за собой гигабайты JS-бандлов, десятки зависимостей и инфраструктуру для сборки. Но есть проекты, которые идут в противоположную сторону. Один из таких — Evidlo/xsl-website, маленький, но показательный эксперимент: сайт без серверного кода, генераторов и даже без JavaScript. В основе — встроенная в браузеры поддержка XSLT (Extensible Stylesheet Language Transformations). Идея проста: То есть весь рендеринг происходит на клиенте, но без JS. Всё зашито в стандарты, которые существуют уже больше 20 лет. 🧩 Минимализм
Проект использует всего три файла: index.xml, template.xsl, styles.css. В папке advanced можно найти примеры посложнее: вложенные шаблоны, поля, переиспользуемые компоненты. 📜 Прозрачность
Вместо магии фреймворков — открытый XML + XSL. Любой браузер понимает это «из коробки». 🚀 Ноль зависимости от инфраструктуры
Не нужны ни Node.js, ни Webpack, ни даже сервер. Всё работает на GitHub Pages. Честно говоря, это похож
Оглавление
На картинке схематично показан процесс создания сайта без JavaScript: XML-файлы обрабатываются через XSL-шаблон, после чего формируется готовая веб-страница. В правом нижнем углу изображён знак «без JS», подчёркивающий отказ от использования JavaScript.
На картинке схематично показан процесс создания сайта без JavaScript: XML-файлы обрабатываются через XSL-шаблон, после чего формируется готовая веб-страница. В правом нижнем углу изображён знак «без JS», подчёркивающий отказ от использования JavaScript.

Кажется, мы привыкли: любое современное веб-приложение тянет за собой гигабайты JS-бандлов, десятки зависимостей и инфраструктуру для сборки. Но есть проекты, которые идут в противоположную сторону. Один из таких — Evidlo/xsl-website, маленький, но показательный эксперимент: сайт без серверного кода, генераторов и даже без JavaScript.

В основе — встроенная в браузеры поддержка XSLT (Extensible Stylesheet Language Transformations). Идея проста:

  • 📂 открываешь index.xml,
  • 📑 внутри указан путь к template.xsl,
  • 🖼 браузер сам трансформирует кастомные XML-теги в привычный HTML.

То есть весь рендеринг происходит на клиенте, но без JS. Всё зашито в стандарты, которые существуют уже больше 20 лет.

Почему это любопытно?

🧩 Минимализм
Проект использует всего три файла: index.xml, template.xsl, styles.css. В папке advanced можно найти примеры посложнее: вложенные шаблоны, поля, переиспользуемые компоненты.

📜 Прозрачность
Вместо магии фреймворков — открытый XML + XSL. Любой браузер понимает это «из коробки».

🚀 Ноль зависимости от инфраструктуры
Не нужны ни Node.js, ни Webpack, ни даже сервер. Всё работает на GitHub Pages.

Моё мнение

Честно говоря, это похоже на «ретро-хак» — напоминание, что браузеры умеют намного больше, чем мы привыкли использовать. Сегодня фронтенд избыточно сложен: чтобы вывести «Hello World», приходится прогонять проект через десятки инструментов.

А ведь ещё в 2000-х XSL рассматривался как способ строить динамические сайты, и только доминирование JS и rise of SPA загнало эту технологию в тень. Но сейчас, в эпоху «усталости от фреймворков», подобные минималистичные подходы снова обретают актуальность.

Я вижу несколько нишевых сценариев:

🔗 Документация и справочники: где важнее структура, чем интерактив.
📂
Архивные сайты: XSL идеально подходит для конвертации XML-данных в читаемый вид.
🛠
Учебные проекты: отличный способ показать студентам основы клиентского рендеринга без JS.

Технические детали

  • ⚡ Производительность: браузер применяет XSL трансформацию напрямую к DOM, без промежуточных слоёв.
  • 🔄 Универсальность: можно описывать шаблоны для любых тегов, даже вложенных.
  • 🖥 Совместимость: работает во всех крупных браузерах (хотя специфика поддерживается неравномерно).

Но есть и минусы:

  • ❌ Нет интерактивности (без JS вы не сделаете сложные UI).
  • ❌ Ограниченное сообщество: XSL почти не развивается.
  • ❌ SEO может быть спорным, если поисковики не применяют XSL-трансформацию.

Вывод

Проект xsl-website — это не конкурент React или Svelte, а скорее вызов самому себе: «А можно ли собрать сайт без всего этого хлама?» Оказалось — можно. И это заставляет вспомнить, что веб изначально задумывался как система документов, а не приложений.

Я думаю, такие инициативы напоминают нам о балансе: не всё должно быть SPA и не всё должно крутиться вокруг JavaScript. Иногда трёх файлов и пары XSL-шаблонов достаточно, чтобы сайт был лёгким, быстрым и понятным.

🔗 Источники: