Коробочные системы управления сайтами — CMS
Система управления сайтом — это программный продукт, который упрощает создание основных видов сайтов. Как правило, системы управления достаточно универсальны, то есть на них можно собрать что угодно: от информационного сайта до интернет-магазина или портала.
Эта платформа подходит для создания сайтов как простых, так и средней сложности. На внешний вид публичной части сайта (на то, что видит обычный пользователь) CMS никаких ограничений не накладывает.
Виды CMS
Есть две разновидности CMS — коробочные (готовые программные продукты, которые можно скачать или купить) и самописные (которые можно получить только от разработчика). Здесь мы рассмотрим только первые, так как вторые обычно представляют собой просто тиражирование разработчиком однажды написанного проекта: отсюда проистекают проблемы с архитектурой, отсутствие документирования программного кода, а модернизация и поддержка таких решений, как следствие, обычно весьма сложны.
Также мы не будем в этой статье рассматривать Headless CMS — это относительно новый класс CMS‑систем, разработка на которых принципиально ближе к фреймворкам.
Краткий перечень известных CMS
Платные коробочные CMS: 1С-Битрикс, UMI.CMS, NetCat, CS-Cart
Бесплатные коробочные CMS: WordPress, MODX, Drupal, Joomla, OpenCart, PrestaShop, TYPO3, Magento
Большинство коробочных CMS написано на PHP и чаще всего использует СУБД MySQL.
Плюсы разработки на коробочных CMS
На CMS достаточно просто и быстро можно создать те виды сайтов, которые заложены в функциональность этой системы. При этом разработка простых решений часто даже не требует участия в проекте программиста.
Многие бизнес‑процессы, которые нужны для конечных пользователей или требуются для управления сайтом, уже заложены в функциональность CMS. Например, в рамках встроенной функциональности сайт на CMS уже «умеет» редактировать страницы и управлять их структурой, управлять пользователями системы и их уровнем доступа, сортировать и фильтровать различные объекты и многое другое.
Поддержка сайтов на CMS проще, чем работа с системами, написанными «с нуля»: этому способствует как наличие документации, так и высокий профессиональный уровень разработчиков CMS, который находит своё отражение в логичной и понятной архитектуре системы.
Возможно простое масштабирование в рамках заложенной функциональности. Например, можно достаточно быстро добавить на информационный сайт каталог продукции, а затем сделать на базе каталога интернет-магазин.
Минусы разработки на коробочных CMS
Разработка простых решений на CMS обычно обходится дороже, а при ограниченном бюджете еще и результат получается хуже, если сравнивать с аналогичными решениями на базе SaaS‑конструкторов.
Реализация же нестандартной функциональности и тонкая настройка CMS под свои бизнес‑процессы обычно затруднены. Процессы, заложенные в системе, тесно связаны, поэтому любое изменение одного из них затрагивает и зависимые от него. А в некоторых случаях реализация специфической функциональности в рамках CMS и вовсе невозможна. В этом разработка на CMS проигрывает решениям на фреймворках.
Обратной стороной универсальности CMS становится избыточность функциональных возможностей и сопутствующее этому увеличение сложности управления и использования, а также некоторые проблемы с производительностью — сайт на CMS часто выполняет больше операций с данными, чем того требует процесс, а структура хранения данных обычно «раздута» относительно реальных потребностей проекта. По удобству управления и по вопросам производительности сайты на CMS обычно проигрывают и SaaS‑решениям, и проектам на фреймворках.
Тематические статьи
С технической точки зрения любая функциональность может быть реализована или на CMS, или на фреймворке, или без использования каких‑либо платформ на чистом языке программирования. Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, и в этом случае будет полезен следующий алгоритм выбора.
- При возможности найти готовые решения или продукты — используйте их. В большинстве случаев оптимальная стратегия выбора: «чем проще — тем лучше».
- Если у вас есть команда разработчиков, то прислушайтесь к их мнению. Важны как возможности самой платформы, так и наличие у команды опыта работы именно с этим технологическим стеком.
- Заранее оцените «заточенность» выбранной платформы под ваши задачи. Не стоит на 100% доверять маркетинговым материалам вендора платформы.
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк — это сочетание готовых программных компонентов с методологией их использования, облегчающее разработку программного продукта. Благодаря использованию фреймворков достигается не только высокая скорость разработки, но и высокая производительность, безопасность и надёжность решений.
Универсальная коммерческая CMS. Достаточно монструозная, хотя при должной настройке на этой платформе можно создавать весьма удобные в использовании и управлении сайты. Из российских платных CMS наиболее дорогая, но и наиболее распространённая.
Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для коммуникации, для CRM и ERP‑систем, статистических и аналитических систем.