У меня в работе крупный проект на 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 и валидатора. Во втором случае контроль больше, но всё придётся делать вручную самому.
Или войти через: