Разработка на React
React уместен там, где интерфейс сложнее набора страниц: много состояний, данные обновляются без перезагрузки, пользователь работает подолгу. Для сайта на десять страниц с текстом он избыточен — и мы это скажем, вместо того чтобы продать модную технологию.
Отдельная частая задача — войти в существующий React-проект. Такие проекты стареют быстро: библиотеки обновляются, подходы меняются, и код трёхлетней давности выглядит непривычно даже для опытного разработчика.
Обсудить задачуЧто делаем на React
- Личные кабинеты и внутренние панели с ролями
- Сложные формы с валидацией и зависимыми полями
- Таблицы и списки с фильтрацией на больших объёмах данных
- Интерфейсы, работающие с данными в реальном времени
- Отдельный фронтенд к существующему бэкенду через API
- Компонентные библиотеки, чтобы новые экраны собирались быстрее
React и поисковая выдача
Классическое React-приложение отдаёт браузеру пустую страницу и дорисовывает содержимое скриптом. Поисковые роботы это обрабатывают, но хуже и медленнее, чем готовый HTML, — и на больших сайтах разница в индексации становится заметной.
Если страницы должны собирать поисковый трафик, мы берём Next.js: он отдаёт готовую разметку и снимает вопрос целиком. Чистый React оставляем для интерфейсов за авторизацией, которым поиск не нужен.
Что обычно спрашивают
React подойдёт для обычного сайта?
Для сайта, который должен ранжироваться, лучше Next.js. Чистый React оправдан, когда речь о приложении за логином — там поисковая видимость не нужна, а интерактивность нужна.
Возьмётесь за проект на старой версии React?
Обычно да. Смотрим, насколько устарели зависимости и есть ли тесты. Иногда первым шагом идёт обновление — без него дальнейшая работа опаснее и дороже.
Что с классовыми компонентами?
Работаем и с ними. Переписывать весь проект ради современного синтаксиса незачем — переводим постепенно те части, которые всё равно трогаем.
Можно добавить React к существующему сайту?
Да, частями: отдельный сложный блок на React внутри обычной страницы — рабочая практика. Переписывать весь сайт для этого не нужно.
Найдём ли мы потом других разработчиков?
React — один из самых распространённых инструментов, с этим проблем не будет. Мы дополнительно следим, чтобы в проекте не было экзотических решений, понятных только нам.
