Платформы для создания сайтов: CMS, фреймворки и SaaS‑решения
От выбора платформы для разработки зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития веб‑проекта.
Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение. У каждого из типов платформ есть как плюсы, так и минусы.
Самый простой вариант — SaaS
SaaS‑платформы еще часто называют «конструкторами сайтов». Из примеров — Тильда и Wix для простых сайтов, Shopify и inSales для электронной коммерции. Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги. Обычно цены на SaaS‑решения составляют порядка 5 000 — 10 000 рублей по тарифам начального уровня и редко превышают 100 000 рублей в год по «старшим» тарифам в линейке. По сути, заказная разработка в этом ценовом сегменте обеспечивает реализацию проектов, сильно уступающую по всем характеристикам.
Но SaaS решения недостаточно гибкие: они допускают только минимальную настройку бизнес‑логики и имеют ограниченный функционал по визуальному оформлению. Если требования к оформлению или к функциональности проекта достаточно высокие, то «конструктор сайтов» по характеристикам уже может не подойти, так как реализация некоторых вещей на этих платформах просто невозможна.
Наиболее распространённый вариант — это разработка на CMS
Система управления сайтом (Content Management System) — это программный продукт, который служит для разработки некоторых стандартных разновидностей сайтов. Почти все CMS модульные, а модули многих из них собраны в комплекты (или редакции), предназначенные для тех или иных видов сайтов. Есть коробочные CMS для простых сайтов, для каталогов, для интернет‑магазинов, для блогов, для новостных порталов и для других видов сайтов.
Много небольших и средних сайтов строится именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход: требования к таким сайтам с технической точки зрения невысокие, а встроенные в CMS модули обычно удовлетворяют выдвигаемым к ним бизнес‑требованиям.
Самая гибкая и наиболее мощная платформа — фреймворк
Фреймворк — это программный продукт, который служит основой для сайта, но обычно не содержит в себе готовых программных модулей для реализации конкретных бизнес‑процессов. Выражаясь техническим языком, фреймворк — это более низкоуровневое решение, нежели CMS. Разработчики, при создании сайта на фреймворке, создают не только публичную часть сайта, но и проектируют базу данных, разрабатывают алгоритмы для модулей системы, а также создают административный интерфейс для управления проектом. Необходимость серьёзных затрат на программирование делает разработку более дорогой, но и результат получается более индивидуальным.
Этот вид платформ используют почти все крупные веб‑проекты (на CMS построена лишь очень малая часть действительно серьёзных проектов), а также подавляющее большинство веб‑приложений и веб‑сервисов (коробочных решений для уникальных бизнес‑процессов просто не существует, а использование не очень подходящих CMS в качестве основы для кастомизации очень усложняет разработку).
Мы, например, разрабатываем серьёзные веб‑проекты на фреймворке Ruby on Rails. Данный фреймворк позволяет создавать действительно сложные сайты, бизнес‑приложения и веб‑сервисы. Скорость работы и устойчивость к нагрузкам у таких решений на порядок выше (в сравнении с CMS), а сопровождаемость и стоимость владения при этом не сильно отличаются.
CMS‑платформы
CMS на рынке существует много и они очень разные:
- есть бесплатные, есть платные;
- бывают коробочные и самописные;
- большая часть CMS универсальны, то есть годятся для практически любых коммерческих сайтов;
- некоторые из CMS очень специализированные — они подходят, например, только для блогов или только для социальных СМИ.
Фреймворки
Фреймворки — это платформа для сложных сайтов или веб‑приложений, которая оптимально подходит для создания сайтов и веб‑приложений по индивидуальному проекту, которые должны работать быстро и выдерживать серьёзные нагрузки. Надо быть готовым к тому, что при выборе фреймворка в качестве платформы для разработки, придётся достаточно много времени и ресурсов потратить на разработку бизнес‑логики, это плата за гибкость.
Подробная статья о фреймворках →
Какая платформа лучше: CMS или фреймворк?
Ответ на это вопрос очень прост — смотря что именно надо разработать: если проект простой и требования к нему самые обычные, то выбирается CMS, а если проект сложный, то проще его на фреймворке делать.
Подробнее про выбор между CMS и фреймворком →
SaaS‑платформы
Также сейчас «набирает обороты» создание сайтов на SaaS‑платформах. SaaS‑платформа для создания сайтов — это возможность запустить достаточно простой веб‑проект очень быстро и крайне дёшево (причём еще и на условиях аренды). Решение подходит для простых сайтов, временных проектов и для проверки бизнес‑идей. SaaS‑платформы, как и CMS, бывают специфическими (только для интернет‑магазинов, например) и универсальными (для всех типовых видов сайтов).
Тематические статьи
Выбор между CMS и фреймворком
С технической точки зрения любой функционал может быть реализован или на CMS, или на фреймворке, или реализован без использования каких‑либо платформ на чистом языке программирования.
Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен следующий алгоритм выбора.
- При возможности найти готовые решения или продукты — используйте их. В большинстве случаев, оптимальная стратегия выбора: «чем проще — тем лучше».
- Если у вас есть команда разработчиков, то прислушайтесь к их мнению. Важны как возможности самой платформы, так и наличие у команды опыта работы именно с этим технологическим стеком.
- Заранее оцените «заточенность» выбранной платформы под ваши задачи. Не стоит на 100% доверять маркетинговым материалам вендора платформы.
Joomla — простая и бесплатная система управления сайтами
Универсальная бесплатная CMS с огромным количеством модулей/компонентов, которые часто дублируют функционал друг друга. Joomla написана на PHP5 и использует СУБД MySQL или другие реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.
Универсальная система управления сайтами Drupal
Универсальная бесплатная CMS, обладающая весьма продуманной архитектурой. Можно создавать сайты любой направленности, при грамотной разработке сайты получаются весьма удобные и производительные.
Универсальная система управления сайтами ModX (Revolution и Evolution)
Универсальная бесплатная CMS. Cистема с открытым исходным кодом и открытой лицензией. Написана на языке программирования PHP, использует для хранения данных СУБД MySQL или MS SQL. Можно создавать сайты любой направленности.
1С-Битрикс — коммерческая система управления для сайтов, интернет‑магазинов и порталов
Универсальная коммерческая CMS. Достаточно монструозная, хотя при должной настройке на этой платформе можно создавать весьма удобные в использовании и управлении сайты. Из российских платных CMS наиболее дорогая, но и наиболее распространённая.
UMI.CMS — универсальная коммерческая система управления сайтами
Универсальная коммерческая CMS. Обладает приятным интерфейсом, позволяет создавать информационные сайты, сайты‑каталоги и интернет‑магазины.
NetCat — универсальная коммерческая система управления сайтами
Одна из старейших коммерческих CMS. Универсальна. Подходит для небольших и средних проектов. Написана на языке программирования PHP и использует базу данных MySQL. По разным источникам NetCat занимает второе или третье место среди коммерческих CMS на русскоязычных сайтах, следуя за 1С-Битриксом и конкурируя за второе место с UMI.CMS.
Фреймворк Ruby on Rails
Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для осуществления коммуникации, для учетных и ERP‑систем, статистических и аналитических систем.