Как мы выбираем стек под задачу
Часто на встречах с клиентами звучит вопрос: «А на чём вы делаете?». Это нормальный вопрос, но правильный ответ на него — не «мы делаем на React». Правильный ответ: «зависит от задачи». Разберём, как мы принимаем решение.
Почему нет одного «лучшего» стека
Не существует универсального набора технологий, который подходит всем проектам. То, что идеально для новостного сайта с тысячами статей, будет оверкиллом для лендинга из трёх экранов. И наоборот — то, что хорошо для лендинга, развалится на нагрузке маркетплейса.
Мы оцениваем каждый проект по нескольким параметрам:
- Сложность интерфейса — статичные страницы или сложная интерактивная логика
- Нагрузка — сотни посетителей в день или десятки тысяч одновременно
- Жизненный цикл — лендинг на месяц или продукт, который живёт годами
- Команда клиента — кто будет поддерживать проект после нас
- Сроки и бюджет — что критичнее: скорость или гибкость
Три базовых сценария
1. Простой сайт или лендинг
Если задача — несколько статичных страниц без сложной логики, используем чистый HTML, CSS и vanilla JavaScript. Никаких фреймворков, никаких сборок, никаких зависимостей.
2. Многостраничник или интернет-магазин
Здесь нужна гибкость шаблонов и компонентный подход. Используем React или Vue в зависимости от того, что ближе команде клиента. Для серверной части — Node.js или Go. База данных — обычно PostgreSQL.
3. Веб-приложение или SaaS
Самый сложный случай. Нужна надёжная архитектура, тесты, CI/CD. Стек собираем из TypeScript, современного фреймворка, надёжной базы данных и инфраструктуры вроде Docker и Kubernetes.
Как это выглядит на практике
Когда приходит задача, мы не открываем каталог технологий. Мы задаём вопросы:
- Что делает бизнес и зачем ему сайт?
- Кто пользователи и с каких устройств они придут?
- Что важнее: скорость запуска или гибкость в будущем?
- Кто будет поддерживать проект после нас?
После ответов стек выбирается сам. Иногда это удивляет клиентов — например, когда мы предлагаем сайт за 60 000 рублей на чистом HTML, а не на модном фреймворке. Потому что задача именно такая.
Почему это важно для вас
Если студия говорит «мы работаем только на Битриксе», это не про ваш проект — это про их удобство. Мы подбираем стек под задачу, а не под наши привычки.