MODX во многом уникален в технической части, но не менее униакально его развитие. Более старая ветка, долгое время находившаяся в гонении и даже призрении ("Кто работает с эво - тот деградирует" (c) Andchir. Кстати что ты сейчас скажешь?), в какой-то момент дала мощнейший рывок вперед и по многим показателям обогнала свою младшую сестренку. Но, давайте по порядку, начнем с истоков и посмотрим как развивался MODX в целом. Почему две ветки очень похожи и почему программисты, казалось бы, одной философии, так недолюбливают друг друга и не могут объединить силы.
История MODX.
"Кто не помнит прошлого у того нет будущего." (переделанная фраза Ломоносова).
Первоначально Рэймонд Ирвинг и Райан Траш разратывали MODX как модуль для поддержки DocVar для CMS Etomite. Но после того как разработчики Etomite отказались от развития своей CMS как открытого продукта, весной 2005 года авторами MODX был предпринят форк системы, и она стала развиваться в качестве самостоятельного продукта.
Выше выдержка из вики, но я хочу заострить ваше внимание на этом абзаце. Ребята работали в солидной фирме, над солидным проектом. Но, увидев, что развитие идет по пути коммерциализации ушли в сторону бесплатного Open Sources. Т.е. изначально в философию MODX энтузиастами и по большей мере альтруистами были положены принципы доступности, открытости и свободы. Это важный момент, о котором чуть позже. И эта свобода проявлялась и в технической части. Эволюция - необратимый процесс развития, именно так назвали свою первую версию MODX Райн и Рэймонд.
Они если и не были первыми, хотя проверить не могу, потому что не знаю достойных аналогов, но явно стали наиболее успешными в реализации разделения контента, представления и логики. Это была достаточно новая парадигма, которая помимо фрймворка имела на борту еще и настраиваемую админку, что также является редкостью и сегодня.
Время двигалось вперед, начали появляться новые технологии, новые подходы в программировании, и в 2010 году MODX LLC делает с одной стороны логичный и правильный шаг, но, как оказывается в последствии, не самый удачный и/или своевременный. Они выпускают новую версию MODX - Revolution и на ней сосредотачивают все силы, лишь изредка закрывая явны дыры безопасности в ветке Evolution.
Так почему я считаю что этот шаг был не самым удачным, раз у подавляющего большинства MODX ассоциируется исключительно с Ревой?
1. Они выбрали крайне неудачные технологии.
Безусловно, на момент выпуска они были передовыми, но... по мне так больше подходит термин "модными". А как известно: мода скоротечна. Например, на момент создания системы для административной части использовалась весьма удобная js библиотека extJs. Однако начиная с четвертой версии разработчики extJs отказались от обратной совместимости (т.е. то, что было написано на более ранних версиях не будет работать на новых). Как итог: админка MODX Revolution по сей день использует библиотеку 2013-го года и дальше двинуться она уже не может. Что мешает ее перекинуть на пятую спросите вы? Огромный пласт дополнений, который просто напросто слетит, не говоря о том, что понадобится очень много сил и времени для того чтобы саму систему под него переписать.
Тоже можно сказать и о xPDO и шаблонизаторе Fenom, который за рамками системы нигде толком и не используется.
2. Избыточность для маленьких проектов и недостаточность для крупных.
MODX Revolution в силу специфики оказался более требовательным к ресурсам сервера и железу программиста. Помимо этого обязательная работа с моделями при работе с кастомными таблицами, долгая первичная настройка и проче прочее увеличивали время создания простого типового сайта. Безусловно это с лихвой покрывалось впоследствии, но ирония в том, что этого самого "последствия" на простых сайтах вообще-то и не было.
С другой стороны, для более сложных проектов на PHP существовали Zend Framework, Symfony и Yii2... Два последних активно развиваются и по сей день. Да, у них не было готовых админок, но них возможности были существенно шире чем у MODX.
В итоге, оглядываясь назад, не совсем ясно было для кого и на кого была рассчитана эта система. Тем нее менее, заложенный принцип разделения логики, представления и контента привлекал программистов со всего света и в конченом итоге MODX получил свою заслуженную популярность.
3. Грубая переоценка среднего программиста.
Ну и последний пункт, почему я считаю что MODX Revolution был не самым удачным решением для широкого круга собственно записан в заголовке. Исходя из предыдущего пункта можно понять, что для части разработчиков он оказался слишком сложным. И врать не буду, я среди них. Как говорил ваш покорный слуга, отвечая на вопрос Василия Наумкина: "почему не все программисты могут освоить Рево?" - "Не все программисты могут быть Василиями Наумкинами".
И в итоге в области дополнений сложилась ситуация похожая на ситуацию в быдлоцмс: появился костяк, который крутил Ревой как хотел, например Михаил Воеводский вообще использовал MODX Revolution как АСУ для кофеен, и толпу пользователей и веб-мастеров, которые могли работать только с продуктами, которые давал им тот самый костяк. Понятное дело, что со временем скил прокачивался, но... Тут получился обратный закон конвейера: скорость конвейерной обработки определяется скоростью самой быстрой ступени. А скорость этой самой быстрой ступени зачастую была невысока, потому как они были крайне востребованы и сил, и времени на работу во благо сообщества было не так и много.
##... и глоток свежего воздуха от MS2 как новая концепция MODX Revolution.
#А что тем временем Evolution?
##Сборка Dmi3yy
Не могу ручаться, но у меня есть такое подозрение, что выпуская Revolution, разработчики сознательно не прекращали поддержку Эво, полагая что на ней будут делать классические визитки, а Рево будут использовать как систему для более сложных проектов. В принципе так и было до поры до времени. Но в какой-то момент разработчики Revolution просто уже не справлялись работать на два лагеря, и подзабили на Эво. В этот момент Дмитрий Лукьяненко увидев некоторые дыры в evolution быстренько их залатал, выпустил версии 1.0.7 и 1.0.8, и дабы не нарушать авторские права назвал это "Сборкой Dmi3yy" и начал совместно с другими альтруистами потихонечку пилить эту ветку, закрывая дыры, оптимизируя ядро, внося весьма интересные дополнения.
##DocLister
##Evolution CMS
##Evolution CMS + Blade/Twig + Laravel
##Evo 2.0
Если взглянуть на вопросы задаваемые на тематических формуах, в телеграм-канале и прочих, то можно заметить различия:
#Так почему Рево более популярна?
1. Объективно ветка Революшен долгое время была более функциональна
2. Имеет более низкий порог вхождения для программистов
3. Конкуренция на рынке труда
4. Больший PR
#Подведем итог.
Какая же система в итоге лучше?
Ответ на этот вопрос я дал еще в предыдущей статье, в самом начале: "Каждая система хороша по-своему".
Для чего был опус выше?
Исключительно для того чтобы у читателя было понимание не только текущей ситуации, но и возможность заглянуть в будущее.
MODX Revolution это, к сожалению, тупиковая ветвь. Как бы странно это не звучало, но это объективный факт. Не потому что это система плохая, нет. А потому что в ней накоплен очень большой технический долг, который "выплатить" значит разрушить все до основания, но это будет уже совсем другая система. А о релизе MODX 3 мы слышим... с 2013-го года! Хочу быть оптимистом, но мне кажется, что развитие самой системы со временем будет сходить на нет. Тем не менее запас прочности у нее все равно большой, проекты выстоят в ближайшую пятилетку, в данный момент она достаточно популярна, что позволяет найти множество решений и разработчиков.
Evolution CMS же - это феникс. Последователи первоначальной идеи Райна о свободе и доступности, где-то не обладая полнотой знаний и умений, но стремясь сделать этот мир чуточку лучше, упорством и привлечением единомышленников, по сути возродили MODX в том виде, в котором он изначально и задумывался: доступный и бесплатный инструмент для творчества. Разработчики смогли учесть ошибки прошлого, и в основу положили не модные технологии, а перспективные. Что будет дальше - покажет время, но уже сейчас Evolution CMS уверенно занимает первую строчку в рейтинге CMS Magazine в разделе "сайты вместе с разработкой", а по количеству проектов опережает младшего брата.
Ну и в завершении.
Долгие годы поклонники ветки Revo сравнивали текущую версию Revolution, с версией Evolution образца 2010, а то и вовсе 2008 года... А что если сделать наоборот?))