Платформы для создания сайтов: CMS, фреймворки и SaaS-решения
От выбора платформы для разработки зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития веб-проекта.
Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS-решение. У каждого из типов платформ есть как плюсы, так и минусы.
Самый простой вариант — SaaS
SaaS-платформы еще часто называют «конструкторами сайтов». Из примеров — Тильда и Wix для простых сайтов, Shopify и inSales для электронной коммерции. Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги. Обычно цены на SaaS-решения составляют порядка 6 000 рублей по тарифам начального уровня и редко превышают 60 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, бывают специфическими (только для интернет-магазинов, например) и универсальными (для всех типовых видов сайтов).
SaaS — самое простое, быстрое и недорогое решение для старта простых проектов
CMS — оптимальный выбор для достаточно типовых проектов, но где уже есть необходимость в незначительной кастомизации
Фреймворки — правильное решение для сложных проектов под высокие требования к надёжности, нагрузкам и скорости работы
С технической точки зрения любой функционал может быть реализован или на CMS, или на фреймворке, или реализован без использования каких-либо платформ на чистом языке программирования.
Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
Простые проекты проще, быстрее и дешевле делать на коробочных CMS, а сложные проекты эффективнее разрабатывать на фреймворках
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен следующий алгоритм выбора.
- При возможности найти готовые решения или продукты — используйте их. В большинстве случаев, оптимальная стратегия выбора: «чем проще — тем лучше».
- Если у вас есть команда разработчиков, то прислушайтесь к их мнению. Важны как возможности самой платформы, так и наличие у команды опыта работы именно с этим технологическим стеком.
- Заранее оцените «заточенность» выбранной платформы под ваши задачи. Не стоит на 100% доверять маркетинговым материалам вендора платформы.
Если устраивает уже существующая платформа — не «изобретайте велосипед». Но не доверяйте полностью маркетинговым заявлениям вендоров — «коробочную» функциональность всегда надо изучать и проверять.
Опыт и знания команды — также очень важный фактор в выборе платформы. Лучше использовать те технологии, которые хорошо знакомы команде.