Техноло­гический стек

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

Как части продукта связаны между собой

Типовые схемы для обсуждения архитектуры. Реальный стек выбираем после проверки данных, нагрузки и ограничений; эти схемы не описывают конкретный клиентский проект.

Веб-сервис

  • Интерфейс — Браузер, формы, кабинет
  • API и правила — Роли, проверки, бизнес-логика
  • Данные — База, файлы, резервные копии
  • Внешние системы — CRM, платежи, уведомления

Что учесть: Быстрый доступ по ссылке и одна точка обновления. Для работы без сети и сложных возможностей устройства нужны отдельные решения.

Веб-приложения и SaaS

Мобильное приложение

  • iOS / Android — Экраны, камера, локальные данные
  • API приложения — Авторизация и синхронизация
  • Серверные данные — Общее состояние и история
  • Сервисы устройства — Push, магазины приложений

Что учесть: Учитываем версии ОС, проверку на устройствах и правила публикации. Офлайн-сценарий требует разрешения конфликтов при синхронизации.

Кроссплатформенные приложения

Интеграция систем

  • Система-источник — CRM, 1С или ERP
  • Слой обмена — Очередь, повторы, преобразование
  • Система-получатель — Заказы, остатки, документы
  • Контроль обмена — Журнал ошибок и уведомления

Что учесть: Для каждого типа данных выбираем источник истины и правила обновления. Проверяем ограничения API, дубли и поведение при недоступности системы.

Интеграции и автоматизация

Что согласовать до выбора стека

Аккаунты и доступы

Определяем владельца домена, хостинга, репозитория и магазинов приложений до запуска.

Зависимости и лицензии

Фиксируем сторонние сервисы, регулярные расходы и условия их замены.

Эксплуатация

Согласуем резервирование, мониторинг, инструкции и ответственность после передачи.

На чём мы строим продукты

Как мы выбираем стек

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

  1. Задача раньше инструмента. Сначала описываем, что продукт должен делать, какая нагрузка и какие интеграции, и только потом подбираем технологию. Лендингу не нужен Kubernetes, а маркетплейсу не хватит конструктора.
  2. Стоимость владения, а не только разработки. Считаем, сколько проект будет стоить в поддержке, хостинге и развитии через два-три года. Дешёвый старт на экзотическом стеке часто оборачивается дорогой поддержкой.
  3. Рынок специалистов. Берём технологии, под которые вы найдёте разработчиков и без нас: React, TypeScript, Python, Go, Swift и Kotlin. Продукт не должен зависеть от одной команды, в том числе от нашей.
  4. Данные и требования закона. Если персональные данные должны храниться в России, закладываем это в архитектуру с первого дня: российские облака, серверы заказчика, GigaChat вместо зарубежной модели там, где это требуется.
  5. Интеграции с тем, что уже работает. 1С, Bitrix24, amoCRM, платёжные сервисы CloudPayments, ЮKassa и СБП, госуслуги через ЕСИА. Новая система встраивается в существующие процессы, а не заставляет их перестраивать.
  6. Продукт можно передать. Стандартная структура проекта, типизированный код, документация и инфраструктура, описанная кодом. Порядок передачи кода, доступов и прав закрепляется в договоре.

Полный стек

Веб-интерфейсы

Кабинеты, SaaS, маркетплейсы и сайты с логикой: React, Next.js, TypeScript, Tailwind CSS, Vite.

Мобильные приложения

iOS и Android: кроссплатформенно или нативно: Flutter, React Native, Swift / SwiftUI, Kotlin / Compose, Firebase.

Бэкенд и API

Бизнес-логика, интеграции, платежи: Node.js, Python / FastAPI, Go, GraphQL, WebRTC.

Данные и очереди

Хранение, поиск, аналитика, обмен сообщениями: PostgreSQL, Redis, ClickHouse, Elasticsearch, RabbitMQ, Kafka.

ИИ и машинное обучение

LLM, RAG, речь, прогнозы и рекомендации: GigaChat API, OpenAI GPT, LangChain, Whisper, TensorFlow, PyTorch.

Инфраструктура и качество

Выкладка, мониторинг, воспроизводимые окружения: Docker, Kubernetes, Terraform, GitLab CI, Prometheus, Grafana, Sentry.

Стек в реальных проектах

Инженерные практики в каждом проекте

Не отдельная услуга и не строка в смете, а то, как устроена работа. Эти практики определяют, сколько будет стоить проект через год.

Разборы архитектурных решений

Частые вопросы о технологиях

Почему React, а не Vue или Angular?

Все три фреймворка зрелые, и на каждом можно сделать хороший продукт. React мы выбираем из-за размера рынка специалистов и экосистемы: под него проще нанять людей, а React Native позволяет переиспользовать опыт и часть кода в мобильном приложении. Если у вас уже есть продукт на другом фреймворке, сравниваем стоимость развития на нём и переписывания и говорим, что выгоднее.

Можно ли разместить проект в российском облаке или на наших серверах?

Да. Приложения упаковываются в Docker-контейнеры и разворачиваются в Kubernetes или на обычных серверах, поэтому не привязаны к конкретному провайдеру. Размещаем в российских облаках или в контуре заказчика, если данные не должны покидать компанию.

Нужно ли заказчику самому выбирать технологию?

Нет. На бесплатном брифе мы предлагаем стек под задачу и объясняем выбор: почему эта технология, сколько будет стоить поддержка и кого нанимать, если вы захотите развивать продукт своей командой.

Беретесь ли вы за проекты, начатые другой командой?

Да. Начинаем с аудита: состояние кода, зависимостей, инфраструктуры и документации. По итогам даём план, что оставить, что переписать и сколько это стоит, чтобы решение о продолжении принималось на фактах.

Как вы работаете с персональными данными?

Закладываем требования 152-ФЗ в архитектуру: где хранятся данные, кто имеет к ним доступ, как оформлено согласие в формах и что уходит во внешние сервисы. Для ИИ-решений с чувствительными данными используем российские модели или развёртывание в контуре компании.

404gen — креативное digital-агентство полного цикла, работаем удалённо по всей России.

Телефон: +7 993 729-59-59 (пн–пт, 10:00–19:00 МСК). WhatsApp: +7 913 141-20-96. Telegram: @aporkulevich. Почта: ap@404gen.ru.