Недавно мы с командой работали с клиентом из финансового сектора: у него есть сайт и личный кабинет, давно написанные на PHP (бэк и фронт), и задача – обновить дизайн и пользовательский опыт без глобальных изменений «под капотом».

Мы начали исследовать, насколько целесообразно сейчас поддерживать фронт на PHP.

Дисклеймер

"Фронт на PHP" – упрощенная формулировка автора. Технически все устроено так: HTML в PHP генерится на сервере и в браузер приходит уже готовый. В React HTML генерится в браузере. И никак иначе :)

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

Как в целом обстоят дела с PHP

Для разработки интерактивных интерфейсов PHP уже не применяют, потому что появились варианты получше. Мы сравниваем с React, потому что используем его на других аналогичных проектах. Но в это же сравнение пойдут и Vue или Angular. Все это удобные инструменты для работы с динамичным UI.

На новых проектах в роли фронта PHP практически не используют. Если он встречается, то это наследие, от которого постепенно уходят. При этом PHP в бэкенде по-прежнему очень популярен, есть фреймворки (Laravel, Symfony), строгая типизация и т. д., что делает его хорошим инструментом для серверной логики.

Когда PHP-фронт работает нормально

Честно: с простыми задачами PHP-фронт справляется на «ура». Корпоративный сайт‑визитка, лендинг, форма обратной связи – здесь нет сложной логики, обновления данных происходят редко, а нагрузка минимальная.

В таких случаях лучше действительно дать фронту пожить и не тратить лишние ресурсы.

Где начинаются проблемы

Ситуация меняется, как только приложение становится сложнее. Например, в личном кабинете появляются калькуляторы, формы оплаты, загрузка и подписание документов. Здесь PHP-фронт ведет себя не так как хотелось бы: любое действие пользователя приводит к перезагрузке всей страницы. Даже если обновился только маленький блок, приходится ждать полного ререндера. И это негативно сказывается на скорости работы приложения.

Для пользователя, привыкшего к скорости современных мобильных банков или маркетплейсов, это выглядит удручающе. И в конечном счете влияет на общее впечатление от сервиса и на лояльность клиентов.

Чем отличается подход React

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

Для пользователей это означает быстрый отклик и более живой интерфейс. 

Реально сэкономить, если переходить на React?

Хотелось бы привести статистику по уже реализованному проекту, но пока ее нет – есть предварительные расчеты.

Мы ожидаем, что с переходом на React:

  • Среднее время разработки новой функции сократится на 40–50%

  • Поддержка станет проще. Компонентный подход и автотесты позволяет быстрее находить и исправлять ошибки, что обычно приводит к экономии на багфиксах и QA в пределах 30–35%.

  • Бизнесу удастся сэкономить около 20% бюджета в год с ускорением релизов и оптимизацией затрат на разработку и тестирование.

Бонус: React – фундамент для PWA

Возможность развернуть Progressive Web App не решающий аргумент. Но может пригодиться в нескольких случаях:

Устаревшее мобильное приложение или утрачен доступ к нему. PWA может заменить нативный клиент. Пользователь получит быстрый доступ к приложению прямо с иконки на экране смартфона, без скачивания из App Store или Google Play.

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

Как это происходит, уже описывали здесь: Web APIs, которые функционально приближают веб-приложения к нативным

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

Перевод React-приложения в PWA – это не отдельный проект на месяцы, а доработка, которая в среднем занимает неделю работы одного опытного разработчика. 

Итог

История с редизайном показала нам простую вещь: иногда фронт на PHP действительно можно оставить, если речь идёт о простом сайте. Но как только приложение становится сложным, такой выбор начинает тормозить развитие бизнеса.

React даёт возможность строить современные интерфейсы, быстрее выпускать новые функции, снизить расходы на поддержку и подготовить почву для PWA.

Если вы планируете развивать цифровой сервис, рано или поздно вопрос «переписывать или нет» всё равно встанет. И чем раньше вы начнёте этот путь, тем проще он пройдёт.


Приходилось ли вам решать похожие задачи? Будет интересно услышать опыт в комментариях.

Комментарии (0)


  1. pavia
    16.09.2025 07:59

    Фронт на PHP - это феерия смысла, а еще в сравнении он не так удобен как React, т.е. прямое сравнение сладкого с холодным. Ну да ладно, по утверждению автора PHP работает на фронте, т.е. в браузере, это позор какой то...


  1. alex8079
    16.09.2025 07:59

    Для калькуляторов Реакт понадобился... РукаЛицо...
    Всю эту фигню лет 10 назад пилили на jQuery и все работало значительно более предсказуемо для конечного пользователя.

    "React решает проблемы производительности архитектурно. Он работает компонентно: меняется только тот участок интерфейса, где произошло действие. "
    Ну да... а с помощью jquery нельзя проапдейтить конкретный элемент... Только можно: значения из json-чика воткнуть в ДОМ, готовый кусок ХТМЛ обновить (как в HTMX, но без него).

    А Реакт - это, в первую очередь, про реактивность, от которой проблем больше, чем толку, судя по многим сайтам, сделанным с его применением.


    1. sWitched0ff
      16.09.2025 07:59

      Реакт вообще не про реактивность, это библиотечка для отрисовки компонентов, грубо говоря для создания веб-компонентов, кастомный элемент сделать и переиспользовать.


  1. dmitrijtest24
    16.09.2025 07:59

    При этом PHP н в бэкенде по-прежнему

    Вы бы проверяли перевод того что публикуете.
    Ну и слишком много глупостей, начните с основ, что для чего было придумано, и что есть на текущий момент.


  1. pokrovskiy_199
    16.09.2025 07:59

    "Фронт на пыхе" - это заявление сильное. Хотя я это воспринимаю как факт того, что пришлось потащить в обновленную версию проекта часть легаси кода, потому что наверняка использовались какие-то специфические библиотеки, которые не очень дружат с новомодным стеком и продолжают работать, хотя они уже давно дединсайд.


  1. positroid
    16.09.2025 07:59

    PHP в бэкенде по-прежнему очень популярен, появились фреймворки (Laravel, Symfony)

    Просто немного исторической справки - php как язык создан в 1995, Symfony - в 2005. Писать "появился" про нечто 20-летней давности странно.

    "PHP-фронт" в целом это оксюморон, понятно, что имелась ввиду генерация HTML средствами php, но как будто так тоже уже не делают лет 10 даже самые древние компании.