Хватит оправдывать архитектурный абсурд: как простые задачи стали заложниками сложных фреймворков - новости cyberetica.ru

Хватит оправдывать архитектурный абсурд: как простые задачи стали заложниками сложных фреймворков

Блог Киберэтика | 04.11.2025

Хватит оправдывать архитектурный абсурд: как простые задачи стали заложниками сложных фреймворков - материал с сайта cyberetica.ru

«Чтобы скрыть кнопку, я должен перезапускать сервер, чистить кэш, пересобирать статику и лезть в шаблоны? Вы там в своём Django совсем больны?»

Когда-то создание кнопки было делом пары строк HTML и CSS. Сегодня же, даже для того, чтобы скрыть элемент, ты обязан обойти лабиринт шаблонизаторов, серверной магии, пересборки, а иногда и костыльного JavaScript. Добро пожаловать в мир "масштабируемых" решений, где простота приносится в жертву надуманной абстракции.

Простой кейс, обросший жиром технологий

Есть кнопка, которую надо скрыть. Вот HTML:

<div class="headeractions">
  <button class="headerbutton button accent_button">
    <span class="headerbutton-text">Загрузить поздравление</span>
    <img src="/static/main/img/icon.svg" alt="Иконка кнопки" class="headerbutton-icon">
  </button>
  <a href="/videos/" class="headerbutton button accent_button">
    <span class="headerbutton-text">Загрузить поздравление</span>
    <img src="/static/main/img/icon.svg" alt="Иконка кнопки" class="header__button-icon">
  </a>
</div>

Цель: скрыть первую кнопку, у которой нет href, оставить вторую. Казалось бы:

.headeractions > button {
  display: none;
}

Но если ты используешь Django + Jinja2, простая правка может потребовать:

  • редактирования шаблона,
  • пересборки проекта (особенно при collectstatic),
  • перезапуска сервера (runserver или systemctl restart),
  • очистки браузерного кеша.

И всё это — чтобы скрыть элемент.

Почему индустрия (и ИИ) выбирают сложность?

«Фреймворки нужны для командной разработки и масштабируемых решений!» — говорят они. Но это — миф.

Вот что реально происходит:

  • 90% веб-проектов можно реализовать на статическом HTML + JS, и они будут:
    • работать быстрее,
    • обслуживаться проще,
    • внедряться без DevOps-ритуалов.
  • Шаблонизаторы полезны лишь при генерации на основе данных, но даже это решается проще — статической сборкой.
  • Архитектура становится самоцелью: компоненты, провайдеры, CI/CD, микросервисы... всё это заменяет суть надстройками.

Пример: альтернатива на Astro

Вместо Django можно взять Astro — он генерирует чистый HTML, поддерживая компоненты:

---
import Button from '../components/Button.astro';
---

<div class="headeractions">
  <Button href="/videos/" text="Загрузить поздравление" />
</div>

Результат: никакой серверной логики, никаких шаблонов. Просто HTML, готовый к продакшену.

Почему даже ИИ ведёт себя как корпорация

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

Когда ты спрашиваешь ИИ, как скрыть кнопку, он может сначала предложить «рекомендуемые» подходы с шаблонами, перезапусками и best practices, вместо того чтобы просто сказать: display: none.

ИИ — зеркало индустрии. Он даёт тебе ответ, который чаще встречается в продакшене, а не обязательно самый простой. Но стоит задать вопрос по-человечески — и он вполне может сказать правду, которую не скажут менеджеры и архитекторы.

Выводы без маркетинговой мишуры

  • Не всё должно быть \"масштабируемо\". Иногда проекту не нужно масштабироваться — ему нужно работать.
  • Динамика ради динамики — это обман. Если ты не используешь API, формы или логин — зачем тебе Django?
  • Если правка кнопки требует больше трёх шагов — ты в архитектурной ловушке.
  • HTML/CSS/JS — по-прежнему лучшая технология для 80% сайтов.
  • Инструменты должны служить задаче, а не диктовать тебе, как жить.

Пусть каждый фреймворк получит по мозгам

Сложность — это не признак зрелости, а зачастую результат страха: страха быть \"немодным\", \"некомандным\", \"немасштабируемым\". Но ты не корпорация. Ты не обязан использовать Jinja2, Django, Webpack, PostCSS и CI/CD, чтобы скрыть мать его кнопку.

Программирование должно быть инструментом, а не ритуалом.

Не усложняй. Убирай лишнее. Работай по-человечески.

  • Комментарии
Загрузка комментариев...