Что выбрать: CMS или фреймворк?
Это один из часто задаваемых вопросов при разработке сайтов. Действительно, неспециалисту бывает сложно разобраться, чему отдать предпочтение. Поэтому сегодня поговорим о том, что такое CMS и фреймворк, каковы их особенности, плюсы и минусы.
Загадочный зверь CMS и нерусский фреймворк
Начнем, как водится, с начала. CMS расшифровывается как Content Management System, в переводе на русский — «система управления контентом» (содержимым сайта). К ее функциям относятся:
- предоставление инструментов, при помощи которых создается содержимое сайта;
- организация совместной работы с контентом;
- публикация контента;
- управление содержимым, включая режим доступа, контроль версий, хранение контента, управление потоком документов;
- представление контента в удобном для поиска и навигации виде.
Наиболее популярные CMS: «Битрикс», Drupal, Joomla!, WordPress. CMS бывают как платными, так и бесплатными. Коротко рассмотрим их различия.
Фреймворк (от англ. «структура, каркас») — программная среда спецназначения, предназначенная для существенного облегчения процесса объединения различных компонентов. Громоздкое и не очень понятное определение, не так ли? Говоря более простым языком, фреймворк — универсальная основа, позволяющая добавлять необходимые в каждом конкретном случае компоненты. Их существует довольно много, в качестве примеров можно привести Django, Laravel, Yii2. На фреймворке можно создать собственную систему управления сайтом, фреймворк — лишь каркас, платформа для собственной разработки. Поэтому многие студии создают собственные CMS, а фреймворк помогает унифицировать и ускорить работу.
Фреймворкам отдают предпочтение большинство программистов и технических директоров, поскольку они предоставляют контроль над кодом, скорость и гибкость в работе над проектом. То есть возможностей они дают гораздо больше. Но есть и обратная сторона медали: использовать фреймворк для создания простых сайтов не всегда рационально, поскольку это требует больших (по сравнению с готовыми решениями на бесплатных CMS) затрат.
Плюсы: хорошая масштабируемость системы, четкий структурированный код. Минусы: требует больше ресурсов и компетенции, необходимо сразу при разработке оценивать варианты поддержки (существуют непопулярные фреймворки, с которыми работает очень мало агентств).
Так что же выбрать?
Мы всегда советуем при разработке обратить внимание на три фактора:
- Цель создания сайта. Это самое важное. Исходя из цели выстраивается финансовая модель разработки, этапы работ и требования к готовой системе. Если цель — проверить нишу, можно приобрести недорогое готовое решение и не вкладывать много времени и денег в разработку. Если цели амбициозны — нужно рассматривать разработку на CMS с большими возможностями или фреймворке. Чтобы не изобретать велосипед, можно приобрести платную CMS с готовыми модулями под ваши задачи.
- Возможности доработки сайта. Когда вы ищете подрядчика на разработку сайта, обратите внимание, какие языки, фреймворки и CMS популярны у разработчиков. Вы можете уйти от компании, разработавшей сайт, и нужно будет найти новое агентство. Если была выбрана непопулярная платформа, сделать это будет проблематично. Также многие готовые решения имеют ограниченные возможности для доработки, в некоторых подключение дополнительных модулей придется оплатить дважды (покупку самого модуля и его подключение у разработчиков), а с некоторыми платформами большинство студий даже отказываются работать.
- Компетентность агентства в работе с конкретным решением. Каждое решение имеет свои плюсы и минусы, однако ключевой момент в выборе платформы заключается именно в умении исполнителя с ней работать. Поэтому, даже если вы
все-таки нашли свой идеальный вариант — убедитесь, что ваше агентство давно работает с системой, посмотрите кейсы, не стесняйтесь позвонить другим клиентам компании и попросить их оценить работу с агентством.
Поскольку большинство студий создают собственные CMS (на чистом языке или фреймворке), мы собрали несколько советов для самостоятельной оценки готовых сайтов:
- Попросите показать систему управления. Она должна быть интуитивно понятна для человека, который в дальнейшем будет работать с сайтом.
- Составьте список всех возможных доработок сайта в будущем и спросите у агентства, возьмется ли оно за эти работы и сколько это будет стоить.
- Оцените скорость работы готовых сайтов (лучше выбрать несколько из портфолио). Вот ссылка на сервис, которым ее можно проверить. Скорость зависит от платформы, на которой создан сайт, прямоты рук программистов и желаний заказчика — чем больше функциональности вкладывается в каждую страницу, тем медленнее она будет работать.
- Оцените чистоту кода страниц. Посмотреть валидность кода можно здесь. Некоторые системы (вроде Bitrix) самостоятельно генерируют множество ошибок, и разработчик ничего не может с этим сделать. От чистоты кода зависит, сможет ли поисковая система правильно прочитать ваш сайт.
Как видите, единственно правильного решения в выборе платформы не существует, — он зависит от ваших
Источник фото: https://pixabay.com/ Werner Moser