Коробочные системы управления сайтами — 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, а сложные проекты эффективнее разрабатывать на фреймворках

Cтатьи по теме:

Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен формализованный алгоритм выбора.
Фреймворки в веб-разработке
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.
Фреймворк Ruby on Rails
​Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб-приложений: систем для управления веб-сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб-сервисов для осуществления коммуникации, для учетных и ERP-систем, статистических и аналитических систем.
Язык программирования Ruby
Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб-разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).
.NET Framework и ASP.NET — платформы для веб-разработки
.NET Framework — это программная платформа, выпущенная компанией Microsoft, которая подходит для разных языков программирования. ASP.NET — технология создания веб-приложений и веб-сервисов от компании Microsoft. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.
Django — фреймворк на Python
Django — это программный каркас с богатыми возможностями, подходящий для разработки сложных сайтов и веб-приложений, написанный на языке программирования Python.
Почему стоит выбрать Ruby on Rails для разработки веб-приложения или сайта?
Разработку веб-проектов на текущий момент экономически целесообразно вести на одном из следующих языков: PHP, Java, Ruby, а также на Python и на базе .NET (это мультиязычный фреймворк). И каждый из языков имеет далеко не по одному фреймворку, написанному на нём. Так в чём же преимущества выбора языка программирования Ruby и фреймворка Ruby on Rails с точки зрения бизнеса?

Тематические технологии:

Язык программирования Ruby
Фреймворк Ruby on Rails
Язык программирования Elixir
Фреймворк Phoenix
Язык программирования Python
Язык программирования Go
Websockets
Система управления сайтами 1С-Битрикс