Насчет фреймворков не хочу устраивать холивар просто напишу свое мнение.
То что фреймворки имеют свои недостатки это совсем не значит что их нельзя использовать, потому что в действительности нам очень мало приходится принимать решений, где только один плюсы и нету вообще никаких минусов, минусы есть везде, вопрос в том, чтобы выбрать решение, где плюсов будет больше, чем минусов и как показывает опыт многих других движков плюсов в переходе на готовый движок куда больше, чем минусов по сравнению со своим велосипедом.
Да, фреймворки часто сложнее и прожорливее. Но опять же по-первых есть очень много фреймворков, есть много и быстрых и простых, есть посложнее, есть выбор! А во-вторых для больших магазинов намного более важными являются такие вещи как надежность, расширяемость, безопасность магазина итд. чем скорость работы или сложность, потому что скорость легко решается покупкой более дорогого сервера, а сложность наемом более дорогих разработчиков. Для магазина хорошим оборотом купить сервер за 500 долларов в месяц это копейки. С другой стороны если такой магазин упадет то за один час простоя он потеряет куда больше.
В то же время плюсов у фреймворков намного больше:
- основной плюс это то, что вместо того, чтобы 80% времени тратить на работу с ядром магазина, разработчики этого движка могут это время потратить на развитие самого движка, потому что ядро уже будет, над ним уже работает куча программистов, совершенствуют его, исправляют баги, добавляют новый функционал итд. Просто бери и используй готовое, при чем бесплатно!
- фреймворки намного более функциональны, современны и имеют намного лучшую архитектуру чем какой-то самописный велосипед, с ними намного приятнее работать.
- для разработчика намного выгоднее выучить код фреймворка, так как он и более качественный и потом эти знания он сможет применить в другом месте, с другим движком, который тоже работает на этом же фреймворке, это куда лучше чем потратить 5 лет на изучение кода какого-то битрикса, который потом ты вообще нигде не сможешь применить.
- для движка если он перейдет на какой-то фреймворк то автоматически получает сотни и тысячи программистов, которые уже знаю этот фреймворк и могут почти сразу работать с этим движком, ставить его своим клиентам, а также работать над его улучшением, исправляя какие-то баги самого движка.
- для владельца магазина более выгодно использовать фреймворк, как он сможет намного легче найти разработчика для этого магазина + он получит более качественное решение по архитектуре и расширяемости, чем какой-то свой недовелосипед, который кроме тех, кто годами с ним работает больше никто не сможет с ним работать.
и так далее.
То есть, да, у фреймворков есть свои минусы, но и плюсов реально в разы больше, именно поэтому многие движки отказываются от своих велосипедов, которые поддерживают годами и переходят на готовые решения.
Плюс когда я смотрю как ядро опенкарта изменилось за последние 5 лет (то есть не изменилось почти никак) то вариант перехода на какой-то простой фреймворк, где все есть и события и конструкторы запросов к базе и конструкторы форм + разные валидаторы, хелперы итд. просто бери и используй.. это будет намного проще и выгоднее чем еще 10 лет они будут пилить что-то свое и в результате не получат и 10 части того, что есть в современных фреймворках..