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