Посоветуйте, пожалуйста, что выбрать для PHP бакэнда SPA приложения учета малого-среднего бизнеса, которое будет разрабатываться на библиотеке ReactJS. Собрать свой небольшой быстрый движок из готовых библиотек и классов (front controller, mvc, orm activerecord, mailer, logger, i18n, защита от xss/sql инъекций), как например у Zabbix и других opensource/коммерческих проектов или использовать Laravel?
P. S.:
Опыта и знаний Laravel нету, до этого работал только с Yii1, ZF1 и Codeigniter.
Может я не прав, но складывается такое впечатление, что большая часть функционала PHP фреймворков для традиционных приложений полностью написанных на PHP и она не нужна для SPA написанных на современных JS технологиях.
И как быть приложению потом, к примеру, сейчас уже вышел Laravel 7, что делать, если проект писался 5 лет назад на Laravel 4, с которым нет совместимости. Переписывать его опять с нуля получится затратно, а старый фреймворк уже не обновляется и никто уже не захочет его изучать, программистов на проект найти наверно непросто. У микрофреймворков также версии быстро меняются, Slim уже 4 вышел. Своя простенькая сборка лишена этого недостатка, в разы меньше размером и быстрее будет работать чем большой фреймворк. Нового разработчика можно обучить быстро за один день. Может я морально устарел и отстал от жизни и все совсем не так.
Не надо писать свой движок. К нему не будет документации, его не проверяет сообщество, баги в нем будут всегда, и хорошо, если будут тесты. Достаточно гибким это решение тоже не будет. Поддерживать и сопровождать такие проекты потом невозможно. Чтобы на голом PHP написать проект с нуля и нормально, требуется колоссальный опыт и отличное знание шаблонов проектирования. Тем более, что все равно в проект вы будете подтягивать различные удобные библиотеки, которые и так используются в известных фреймворках. Например, Doctrine.
То, что вы пишете "Нового разработчика можно обучить быстро за один день", на практике совсем далеко от реальности. Опять-таки потому, что для какого-нибудь Laravel есть отличная документация, а к самописному фреймворку не будет ничего. Особенно если разраб, который его создал, внезапно уволился.
Я не говорю, что обязательно нужно использовать таких монстров как Laravel и Symfony для создания API, но микрофреймворк Slim вполне неплох. Насчет "у микрофреймворков также версии быстро меняются" не могу ничего сказать, по крайней мере, код с 3 версии Слима на 4 переносится без проблем. Ведь в том и суть микрофреймворка, что там кода, зависящего от него, почти и нет - вся ваша бизнес-логика независимая.