Архитектура и данные
Разделяем ответственность между модулями, проектируем модели данных, маршруты и границы системы так, чтобы следующая функция не требовала переписывать предыдущую.
Технологии для нас — инструменты. Выбираем стек, который решает задачу сегодня и остаётся поддерживаемым завтра.
Работаем по всей цепочке веб-продукта: от архитектуры и модели данных до интерфейса, интеграций, производительности и дальнейшего развития. Не привязываем проект к модному стеку или одной CMS — сначала разбираемся в задаче, текущей системе и ограничениях.
Технология имеет смысл только в контексте продукта: нагрузки, команды, интеграций, бюджета, сроков и будущей поддержки. Иногда правильный выбор — развить существующий WordPress или 1С-Битрикс. Иногда — вынести сложную логику в отдельный сервис. Иногда — собрать индивидуальную архитектуру и использовать SoiT CMS там, где действительно нужен отдельный уровень контроля.
Сильный веб-продукт редко упирается в один фреймворк. Важнее, как архитектура, данные, интерфейс, контент и интеграции работают вместе и насколько спокойно систему можно развивать после запуска.
Разделяем ответственность между модулями, проектируем модели данных, маршруты и границы системы так, чтобы следующая функция не требовала переписывать предыдущую.
Бизнес-логика, серверные модули, REST/API, фоновые операции и интеграционные слои. Предпочитаем понятные контракты и минимальные скрытые зависимости.
Семантическая разметка, адаптивные интерфейсы и JavaScript только там, где он действительно нужен. Дизайн должен помогать сценарию, а не усложнять продукт.
WordPress, 1С-Битрикс, другие CMS, legacy/custom-код и собственная SoiT CMS. Не заставляем проект менять платформу без практической причины.
CRM, 1С, каталоги, платёжные и внешние API. Сначала определяем источник истины и сценарий обмена, потом пишем связующий код.
Скорость, индексация, canonical, sitemap, structured data и технические ограничения рассматриваем как часть архитектуры, а не финальную косметику.
Работаем с WordPress, 1С-Битрикс, другими CMS и существующим custom-кодом. Сначала смотрим, что реально мешает продукту: архитектура, обновления, производительность, модель данных, интеграции или сам процесс поддержки.
Если систему можно безопасно и разумно развивать на месте — не предлагаем переписывание ради переписывания. Если ограничения стали системными, планируем поэтапную миграцию или rebuild, сохраняя бизнес-логику и данные там, где это оправдано.
Проектируем серверную логику вокруг процессов, а не вокруг набора контроллеров. Разделяем внешние интеграции и внутреннюю модель, задаём понятные контракты обмена и стараемся локализовать отказ одного сервиса, чтобы он не тянул за собой весь продукт.
PHP, MySQL/MariaDB, очереди задач, REST/API, обмен с CRM и 1С — конкретный набор выбирается после того, как понятны данные, объём операций и требования к сопровождению.
Используем семантический HTML, современный CSS и минимально необходимый JavaScript. Там, где интерфейсу действительно нужен сложный клиентский слой, он должен иметь понятную причину: интерактивность, состояние, скорость работы пользователя или сложный сценарий.
Адаптивность, доступность, работа с контентом и поведение на мобильных устройствах закладываем на уровне компонента, а не исправляем в конце отдельным набором исключений.
Следим за объёмом фронтенда, запросами к БД, кешированием, изображениями, критическим CSS и стоимостью сторонних зависимостей. Для SEO важны не только мета-теги: маршрутизация, canonical, sitemap, индексация, корректные статусы и структура контента должны быть встроены в архитектуру.
Оптимизируем по измерениям и реальным узким местам. Не добавляем сложность ради абстрактных баллов, если она не улучшает пользовательский сценарий и эксплуатацию проекта.
Можно прийти с новой идеей, legacy-проектом, конкретной интеграцией или вопросом «почему всё стало сложно поддерживать». Начнём с контекста и ограничений, а не с продажи заранее выбранной технологии.