Перед выбором “движка” для вашего ресурса важно определиться с тем, как он вписывается в вашу инфраструктуру. На выбор решения также влияет методика, по которой проект будет разрабатываться.
К крупным мы относим проекты, отвечающие минимум одному из этих критериев:
В любом случае при выборе платформы для решения важно учитывать следующие возможности:
Для того, чтобы было проще разобраться, давайте введем условное деление.
В этом случае наиболее эффективным будет разработка на Framework по методологии Agile и при наличии ответственного подрядчика. При таком подходе расходы становятся прямо пропорциональны функционалу проекта.
В первую очередь так же рекомендуем смотреть в сторону Framework, но окружение может диктовать свои требования, и тогда выбор CMS будет сделан за вас. Методика разработки в этом случае станет гибридной, разбитой на большие спринты. Крайне важно выбрать подрядчика, имеющего опыт в реализации подобных проектов и хорошо знакомого с выбранной вами системой.
В данном случае компании стараются унифицировать используемые решения, но свобода выбора остается, и для подобных задач как раз и разработано большинство CMS.
Для некоторых задач можно обойтись CMS без базы данных, Wix, или сайты Битрикс24 (которые недавно анонсировали возможность создания интернет-магазина). Но возможно и использование простых редакций популярных CMS.
В любом случае на разработке жизненный цикл сайта только начинается, и у вас должно быть полное представление о том, кто и как будет осуществлять обеспечение его работы и дальнейшее развитие. Выбирая не слишком распространенное решение вы можете столкнуться с высокой загруженность опытных подрядчиков или поиском штатного специалиста.
В основном проекты реализуются на PHP CMS (Content Management System - cистема управления контентом) и на Frameworks ( являющимися надстройками над языком программирования). Некоторые студийные CMS разрабатываются на фреймворке и получают свое название (например Alchemy Yii 2 CMS и SEOCMS на Yii 2).
"И если CMS похожа на Лего, то framework можно сравнить с 3D принтером – печатай что угодно, хоть тот же конструктор!"
Отдельно стоят решения, реализованные на ASP.NET от Microsoft, но данная платформа не получила широкого распространения на нашем рынке.
Если для большинства CMS существуют готовые шаблоны с оформлением, то для проектов на framework придется проходить весь цикл по разработке дизайна, верстке и интеграции, или адаптировать существующие шаблоны от других CMS.
Как правило готовая CMS - это ядро и ряд модулей, позволяющих сформировать функционал проекта. Модули при этом реализуются либо максимально универсальными, либо решающими одну конкретную задачу.
Прежде чем рассмотреть особенности конкретных «платформ», мы хотим прокомментировать несколько представлений, которые могут мешать объективному восприятию информации.
Вопрос цены - вопрос рисков. Да, технически на бесплатных CMS можно реализовать крупный коммерческий проект. Но в стоимость лицензии какой-либо коробки, как правило, входят определенные гарантии безопасности, надежности и тех. поддержка от разработчика.
Отчасти это утверждение верно. Но только отчасти. При небольшом объеме данных любой сайт будет показывать достаточно хорошие показатели, но при росте данных и посетителей оптимизация будет занимать все больше сил и времени. Связано это с архитектурой заложенной в коробочные решения.
Мы считаем, что не стоит принимать решение, исходя из стоимости лицензии, т.к. она растворится в общих затратах на содержание и развитие проекта.
При построении диаграммы мы исходили из следующих цифр:
Лидер по использованию среди платных CMS. Предоставляется на платной основе в различных редакциях. Функционально богатая система, к сожалению, наследовала все худшее, что есть в 1С. Если Apple предлагает некую новую парадигму, то в случае 1С и пользователю, и разработчику, приходится самому подстраиваться под существующие решения, ведь при изменении компонентов растет риск получить отказ в тех поддержке разработчика.
Отдельно стоит отметить, что бизнес-модель Битрикс успешна для создателей, привлекательна для разработчиков, но не влечет за собой эволюционного развития продукта, и, как следствие, не отвечает интересам заказчиков. Большинств проектов реализуется на ней “по умолчанию”, не вдаваясь в тонкости системы. Характерной особенностью платформы является недолюбливание ее разработчиками.
Не смотря на это, мы рекомендуем эту систему, в тех случаях, когда вам важно получить максимум функционала при минимальных вложениях: для небольших проектов и для тех, кто только открывает сайт.
Одна из самых популярных бесплатных CMS, с помощью которой можно создавать сайты различных направлений. Однако, наиболее широкое распространение система получила не за счет коммерческих сайтов, а за счет блогов и информационных проектов.
Не смотря на распространенность решения, мы не рекомендуем рассматривать ее в качестве платформы своего проекта.
Еще одна из наиболее часто используемых бесплатных CMS. Главное отличие Joomla! от более успешного Open Source решения – с ней чуть сложнее справиться. Ее не так просто установить, настроить и наполнить контентом.
Не смотря на распространенность решения, мы не рекомендуем рассматривать ее в качестве платформы своего проекта.
Бесплатная CMS подойдет для разработки любого сайта: блога, форума, крупного портала, сервиса с онлайн-платежами и т.п.
Явных недостатков система не имеет.
Несмотря на относительно низкую распространенность, популярность системы растет, и мы рекомендуем ее в первую очередь из бесплатных CMS в качестве платформы для проектов наших клиентов.
Специализированная e-commerce СMS. Это идеальное решение для тех, кому нужен интернет-магазин как можно скорее и как можно дешевле.
Эта платформа создана исключительно для интернет-магазинов. На ней невозможно создать другой вид сайта. Из остальных недостатков можно отметить слабые стандартные возможности для SEO-оптимизации. Например, в базовой комплектации нельзя закрыть дубли страниц и сгенерировать карту сайта.
Мы рекомендуем рассматривать ее в качестве платформы своего проекта лишь для небольших интернет магазинов.
Бесплатная CMS, требовательная к разработчику. Drupal можно применять для построения различных сайтов, начиная от блогов, новостных порталов, информационных сайтов, форумов. Довольно большую функциональность можно расширять установкой дополнительных «модулей», которые можно скачать с официального сайта.
Не смотря на распространенность решения, мы не рекомендуем рассматривать ее в качестве платформы своего проекта.
Коммерческая CMS, к сожалению, в последнее время теряющая свою популярность, но несмотря на это, все еще способная конкурировать с 1С Битрикс.
Если у вас есть проверенные разработчики, знакомые с системой, и вам не близок Битрикс, то можем рекомендовать ее, как основу вашего проекта.
Популярность фреймворков на территории рунета по опросу сайта habrahabr.ru
Популярность фреймворков в мире по статистике Google Trends
Является достаточно гибким фреймворком и позволяет решать нестандартные задачи, структурировать веб-сайт в соответствии с существующей логикой и поставленными целями.
Symfony единолично удерживает 3-е место по популярности среди фреймворков. Пользователю предлагается выбрать одну из 3 версий для профильной работы:
Несомненным плюсом будет наличие официальной документации на русском языке. Стоит оговориться, что доступна она только для первой версии Symfony, но среди неофициальных релизов вы найдете и переводы официальных релизов, и самостоятельную качественную документацию.
Yii во многих рейтингах преподносится как главный конкурент Symfony. Основания для этого действительно есть: оба языка работают с полным стеком, у обоих исходники на GitHub, оба достаточно качественно представляют шаблонную разработку. Однако в то время как Symfony предоставляет лишь модель и контроллер, в Yii реализована полноценное MVC-взаимодействие. Кроме того, интерфейс в Yii куда удобнее, генерация кода с помощью браузерного элемента Gii здесь немного мощнее, да и вообще по факту Yii позволит вам сэкономить больше времени на разработке, а приложение будет работать чуть быстрее.
Выбор фреймворка зависит от того, насколько хорошо с ним знакома команда, и от тех задач, которые возлагаются на проект. Еще раз хотим отметить, что зачастую это более дорогой путь кастомного решения, требующий профессионализма как со стороны исполнителя, так и со стороны заказчика.