Рад, что есть взаимопонимание и общее видение ситуации. Но немного еще добавлю информации, к слову.
Так вот, к слову о некоторых моих наработках, которые кому-то все же пришлись по душе, хоть и не всем. Там, где они были использованы, они продолжают работать, даже если были встроены несколько лет назад. Особый пример: https://www.radimax.ru/ Это второй сайт, где я использовал Smarty (первый был моим личным проектом и давно уже канул в лету). На нем же развивался modxSite со своего первоначального вида. И хотя сайт пережил несколько глобальных апгрейдов, заложенная в него основа все еще работает.
modxclub.ru последние часы отживает на тех еще технологиях. И хотя он уже наполовину JS-овый, основное ядро все еще на modxSite, хоть уже и без Smarty.
А недавно вот помогал с обновлением shopModx https://modxclub.ru/topics/shopmodx-oshibki-v-rabote-magazina-pri-obnovlenii-s-versii-2.2.10-na-2.6.5-2806.html
Обновился MODX с версии 2.2.10, а это, на минуточку, релиз от 07.10.2013 :) https://modx.com/download/other-versions?releaseKey=revolution-2.2.10-pl
На обновление я потратил меньше часа, просто обновил пакеты, пару контроллеров подправил и все. И магазин дальше поехал работать (к слову, поломались только некоторые функции в админке из-за глобальных изменений ее на уровне MODX, а во фронте работало все, кроме одного Ajax-запроса).
Это все не может не радовать. Но знаете в чем прикол? В том, что за два дня я переписал все это на JS, то есть блоги, топики, комментарии, рейтинги, авторизацию-регистрацию и т.п., а так же дописываю импортер для переноса старых данных в новую базу. И еще различные плюшки накидал.
Вот немного скринов:
Когда накачу обновления, сможете это погонять самостоятельно.
Так к чему я это? Надежные проверенные технологии это конечно хорошо. Но в наше время немаловажна скорость разработки и совместимость с чужими технологиями. За два дня я столько вещей с нуля написал, столько всяких вариантов испробовал, что на MODX я это делал бы не один месяц. Я серьезно. Чего только стоит работа с базой данных. Попробуйте в MODX поставить несколько компонентов, которые под себя создают таблицы с одинаковыми названиями, и быть уверенными, что все правильно поставилось, и нет нигде логических ошибок в базе данных.
У меня мало того, что схема легко редактируется и при деплое происходит автоматическое изменение структуры базы данных, так еще и тесты можно писать на проверку необходимых полей. К примеру, вот так выглядит результат успешного выполнения теста:
А вот так с ошибками:
Так что, я думаю, в будущее надо смотреть обязательно.
UPD: вот гляньте, подключил 4 модуля к проекту и выполнил деплой схемы в БД:
Подключение модулей выглядит вот так:
После этого в консоли выполняем PORT=4001 endpoint=$endpoint yarn deploy
и все, получаем результат. В данном случае было создано несколько таблиц и связей между ними. При чем если подобные схемы уже были, они просто дополнили друг друга и все.
UPD2: А еще радует очень то, что при попытке деплоя, если удаляются какие-то колонки или таблицы и есть данные, которые при этом будут утеряны, деплой завершается с ошибкой, то есть вероятность потери данных при этом исключается.