Так ли плохи современные CMS?
В этой статье мы не будем затрагивать сравнение разработки с нуля на framework’ах и на CMS, а рассмотрим примеры CMS, у которых получилось пойти навстречу тенденциям, а также кто безнадежно отстал и постепенно пропадет с рынка
CMS - это готовый «движок» для разработки сайтов. По сути, это конструктор, который позволяет в довольно сжатые сроки запустить проект в публичное пространство интернета, а при прикладывании усилий с помощью него можно разработать довольно сложные системы.
Краеугольным камнем CMS считается ее универсальность. С одной стороны, она позволяет разрабатывать на одном и том же инструменте такие задачи как Landing Page, так и сложнейшие интернет-магазины с множеством связей между системами. Например, платежные шлюзы и службы доставки. Но в то же время, это является главным минусом, так как цена за универсальность дает ограниченность и однобокость заложенной логики в архитектуре CMS. Доработка CMS возможна, но в текущих реалиях, многие задачи требуют возможности создавать свою собственную архитектуру, которую сложно уже скрестить со структурой в CMS.
Исходя из этой боли и жалоб сообществ разработчиков, что CMS внутри себя должны быть построены на общепринятых архитектурные паттернах, сами CMS начали модернизироваться.
Рассмотрим одни из самых популярных CMS
WordPress - бесплатная и наиболее популярная CMS. По разным подсчетам на этом движке работают ~35% сайтов во всем мире и почти 45% в Рунете. Внутри же эта система хоть и считается масштабируемой, но по факту является частным случаем реализации, на базе которой сложно построить что-то серьезное. В основном данную CMS лучше использовать по прямому назначению, кастомизировать можно, но на framework реализовать будет правильнее и лучше.
Drupal - бесплатная CMS, которая уступает по популярности WordPress, но в отличие от нее стремится к тому, чтобы архитектура ядра позволяла легко дорабатывать проекты. Поэтому уже с 8-ой версии внутри себя имеет набор библиотек Symfony. Это не переработка ядра с нуля, но путь к тому, что CMS станет более прозрачна в использовании для крупных проектов.
Joomla - бесплатная CMS с открытым исходным кодом ядра, что позволяет править его на любой вкус. К минусам можно отнести, что ядро не настолько велико, чтобы на его базе можно было сделать любые проекты, поэтому местами требуется доработка.
1С-Битрикс - платная CMS система, которая занимает не менее 15% рынка и является одним из самых спорных CMS. Ядро системы модифицируется и обновляется регулярно, однако до конца избавиться от legacy кода пока не удалось. Помимо совершенствования внутреннего framework, на последней презентации было анонсировано, что в данный момент прорабатывается реализация части функций на Symfony. Так что в скором времени мы получим интересный симбиоз.
Современные CMS никогда не смогут уйти от своего первичного предназначения: легкого универсального инструмента для создания сайтов, а для этой задачи не нужно иметь “монстра” под капотом. Однако явно прослеживается тенденция, что CMS потихоньку внедряют в себя актуальные паттерны и инструменты, чтобы помимо того, что оставаться привлекательными для клиента, не отталкивать от себя разработчиков.