Frontend

Сколько стоит разработка веб-приложения на Vue.js/React: разбор по типам проектов

«Сколько это будет стоить?» — почти всегда первый вопрос на созвоне, и почти всегда на него нельзя ответить одной цифрой без уточнений. Разберу, от чего реально зависит цена и сроки, с конкретными цифрами по типам проектов, а не общими рассуждениями «зависит от сложности».

От чего зависит цена веб-приложения на самом деле

Тип проекта (лендинг, SPA, магазин, портал) — только стартовая точка, а не финальная цифра. На цену внутри одного типа сильнее всего влияют: количество уникальных экранов и состояний интерфейса, число интеграций (платёжные системы, внешние API, CRM), сложность авторизации и ролей пользователей, готовность дизайн-макета и то, нужен ли серверный рендеринг для SEO.

Два проекта одного типа — например, два «SPA-приложения» — могут отличаться по цене в два раза именно из-за этих деталей. На практике часто оказывается, что клиент присылает макет из 8 экранов, а по факту нужно спроектировать ещё 4-5 состояний интерфейса (пустой каталог, ошибка загрузки, разные роли пользователя) — это не отражено в макете, но занимает реальное время разработки.

Разброс в цене внутри одного типа проекта — это не «накрутка», а разница в реальном объёме скрытой работы.

Монитор с доской планирования проекта: карточки разного размера с ценником и сроком — от простой задачи до крупного проекта

Реальные цифры по типам проектов

Интерактивный лендинг — от 40 000 ₽, обычно 1–2 недели: анимации, формы, адаптивность, без сложной бизнес-логики на фронте. Пример: лендинг с калькулятором стоимости и формой заявки на Vue.js — типовой срок закрывается за полторы недели.

SPA-приложение — 120 000–170 000 ₽, обычно 3–6 недель: роутинг, управление состоянием, интеграции с внешним API. Пример: личный кабинет с фильтрами по каталогу и сохранением состояния между визитами — здесь основное время уходит не на вёрстку экранов, а на логику взаимодействия с данными.

Интернет-магазин — от 150 000 ₽, обычно 4–8 недель: каталог с фильтрами, корзина, оплата, интеграция с доставкой. Разброс по срокам внутри этого типа самый широкий — зависит от количества способов оплаты и сложности логики скидок.

Корпоративный портал — от 180 000 ₽, обычно 6–10 недель: дашборды, отчёты, система ролей пользователей. Для сравнения масштаба: разработка сайта Большого театра России на Vue.js и Nuxt.js заняла около 4 месяцев — но это федеральный проект с интеграцией билетной системы и мультиязычностью, обычный корпоративный портал таких сроков не требует.

Монитор с разделённым экраном: слева таймер почасовой оплаты, справа документ с фиксированной ценой и подписью

Почасовая или фиксированная оплата — когда что выгоднее

Фиксированная цена работает, когда объём задачи понятен заранее: есть готовый макет, список экранов и интеграций зафиксирован. Почасовая ставка (у меня — 1000–1500 ₽/час) подходит для доработок существующего проекта, консультаций и задач, объём которых заранее не определить точно.

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

Что реально влияет на сроки, а не только на цену

Готовность макета — самый недооценённый фактор: если дизайн нужно продумывать по ходу разработки, срок растягивается не из-за кода, а из-за согласований. Количество интеграций с внешними сервисами тоже напрямую двигает сроки — тестирование каждой платёжной системы или API занимает время независимо от сложности самого фронтенда. Если проекту нужен SSR под SEO — это отдельный этап настройки Nuxt.js/Next.js, который стоит закладывать в срок отдельно.

Как самому прикинуть бюджет до созвона

Посчитайте количество уникальных экранов (не разделов меню, а именно разных по структуре страниц), выпишите список нужных интеграций (оплата, CRM, внешние API), решите, нужна ли авторизация с ролями, и проверьте, важен ли органический трафик из поиска — от этого зависит, нужен ли SSR. С этим списком точную цифру я назову гораздо быстрее, чем без него.

Планируете веб-приложение и хотите понять бюджет заранее?

Посмотрю задачу и назову цифру с обоснованием — по количеству экранов, интеграций и сложности логики, а не «на глаз».

Обсудить фронтенд-проект Обсудить проект

FAQ по теме

Почему у двух похожих SPA-проектов может быть разная цена?
Потому что «похожесть» на уровне типа проекта не учитывает количество интеграций, сложность авторизации и готовность макета — именно эти детали, а не тип проекта, определяют финальную цифру.

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

Что дешевле — почасовая оплата или фиксированная цена?
Не универсально дешевле ни то, ни другое — фиксированная цена выгоднее при чётко определённом объёме задачи, почасовая — при доработках и задачах с неопределённым заранее объёмом.

Входит ли SSR-настройка в стандартную цену SPA-приложения?
Не всегда — если органический трафик из поиска важен для проекта, настройка SSR на Nuxt.js/Next.js обсуждается отдельно, это дополнительный этап работы, а не часть базовой цены интерфейса.

Как понять, что сайту нужно веб-приложение, а не обычный сайт

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

SPA или обычный сайт: что лучше для SEO

Vue.js или React: что выбрать для своего проекта

Вадим Лукьянцев
Вадим Лукьянцев Об авторе — нажмите, чтобы раскрыть
Вадим Лукьянцев

Веб-разработчик, Краснодар. Делаю сайты под ключ на Vue/Nuxt и React/Next, вёрстку по макетам из Figma и PSD, сайты на WordPress и SEO-продвижение — сам, без субподрядчиков.

Работаю с 2GIS, Яндекс.Бизнесом, самозанятость оформлена официально с 2024 года. С клиентами по всему Краснодарскому краю и удалённо по России.