Отдельный бэкенд и JS-фронтенд

У меня в работе крупный проект на Symfony. Состоит из двух частей, связанных общей БД и общими сущностями: веб-портал и корпоративный сайт. Разрабатываю в одной общей экосистеме, где оба проекта лежат в отдельных поддиректориях корня. Но меня смущает такая архитектура дублированием кода.

Правильно ли я понял, что для современной веб-разработки есть тренды в сторону смещения к сочетанию PHP-фреймворка с JS-фреймворком. Например, мне перспективнее создать один проект на основе API-Platform и привязаться к нему парой фронтедов на VueJS или AngulerJS. Или я не правильно всё понял и есть более умное решение?

Да, сейчас часто делают API-бэкенд (монолитный или микросервисный) на фреймворке или микрофреймворке, а на сайты всё выводят через JS-фронтенд.

Например, берут NextJS или NuxtJS (это сборки React или Vue с серверным рендерингом для индексирования поисковиками) для сайта и React/Angular для админки. И на это же или отдельное API навешивают мобильные приложения.

Это гибче в плане того, что может быть несколько фронтендов и даже несколько бекендов. Разработка на фронтенд-фреймворках удобнее, чем на jQuery. И это целесообразнее для будущей разработки, так как по мере развития проекта найти профессионального программиста-фронтендера будет проще, чем умельца на Symfony+Twig+jQuery.

Если делать API с нуля, то либо взять готовый Symfony, убрав лишние вещи, либо как в мастер-классе по RabbitMQ и в серии по PSR-7 фреймворку поставить быстрый голый микрофреймворк вроде Zend Expressive, подключив компоненты вроде Doctrine и валидатора. Во втором случае контроль больше, но всё придётся делать вручную самому.

Дмитрий Елисеев
elisdn.ru
Комментарии (0)
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Yandex
MailRu
GitHub
Google