С технической точки зрения любая функциональность может быть реализована или на CMS, или на фреймворке, или без использования каких‑либо платформ на чистом языке программирования. Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен следующий алгоритм выбора:
- При возможности найти готовые решения или продукты — используйте их. В большинстве случаев, оптимальная стратегия выбора: «чем проще — тем лучше». «Изобретение велосипедов» — это долго и дорого (или некачественно), проще использовать какую‑либо платформу для создания сайта — SaaS, CMS или фреймворк. Если проект по большей части типовой — берите коробочную CMS, если весьма сложный — создавайте приложение на фреймворке. А если требования к проекту вообще минимальны, то обратите внимание на SaaS‑решения.
- Если у вас есть команда разработчиков, то прислушайтесь к их мнению. Важны как возможности / преимущества самой платформы, так и наличие у команды опыта работы именно с этим технологическим стеком. Разумеется, что речь идёт о рациональных аргументах, а не словах типа «это же 1С» или «Drupal — это же Open Source». Полезными аргументами будут ссылки на технические особенности платформы, которые требуются для вашего проекта, а также опыт разработчика именно с этой платформой.
- Оцените «заточенность» платформы под ваши задачи. Не стоит создавать интернет-магазин на движке для блогов или на движке для простых сайтов делать навороченный корпоративный портал. Технически в этом нет ничего невозможного, но сроки и стоимость разработки хорошего решения будут выше или качество проекта пострадает.
Тематические статьи
От выбора платформы для разработки зависит как сама по себе реализуемость необходимых функциональных возможностей, так и возможности дальнейшего развития веб‑проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение.
SaaS‑платформы еще часто называют «конструкторами сайтов». Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги. Но кастомизация SaaS‑решений очень ограничена.
Система управления сайтом (CMS) служит для разработки стандартных разновидностей сайтов. Много небольших и средних сайтов строится именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход.
Фреймворк — это программный продукт, который также как и CMS служит основой для сайта, но фреймворк — это более низкоуровневое решение, обладающее большей гибкостью и производительностью в сравнении с CMS. Этот вид платформ используют почти все крупные веб‑проекты, а также подавляющее большинство веб‑приложений и веб‑сервисов.
Коробочная система управления сайтом или CMS — это готовый программный продукт, который упрощает создание основных видов сайтов. Эта платформа для разработки подходит для создания как простых, так и средних по сложности сайтов. Большинство систем управления достаточно универсальны и на них можно собрать почти что угодно — от простого информационного сайта или сайта‑визитки до интернет-магазина или информационного портала. Есть и специализированные CMS, заточенные под один конкретный тип сайтов, например, для интернет-магазинов.
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк — это сочетание готовых программных компонентов с методологией их использования, облегчающее разработку программного продукта. Благодаря использованию фреймворков достигается не только высокая скорость разработки, но и большая производительность, безопасность и надёжность решений.
Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для осуществления коммуникации, для учетных и ERP‑систем, статистических и аналитических систем.
JAMstack (JavaScript, APIs, Markup) — современный архитектурный подход к созданию быстрых, безопасных и масштабируемых веб‑приложений.