Движок для сайта, а что “под капотом”?

В последнее время вопрос “движка”, на котором построен разрабатываемый сайт, стал крайне актуальным. В первую очередь, это связано с повышением осведомленности заказчика и конкуренцией среди разработчиков, которые собственно и дают клиенту эту информацию. Но есть нюансы, которые я и постараюсь осветить в этой статье.

Итак, что же такое “движок” для сайта? Не вдаваясь в подробности разработки, движок - это некая архитектура, принцип построения и взаимодействия компонентов, инструментарий, интерфейсы управления. Существуют огромное количество движков. Попробуем посмотреть на все это глазами заказчика, который, как правило, не разбирается в технических нюансах разработки сайта. И тут я выделю два основных лагеря и попробую осветить их преимущества и недостатки.

1. Движки “из коробки от известного бренда”.
Честно говоря, я долго думал, как озаглавить этот пункт, т.к. для многих из вас названия Wordpress, Joomla все равно не о чем не скажут. Это так называемые “готовые CMS”, которые в принципе можно установить и настроить, даже не имея особых навыков. В нашей сфере это довольно известные бренды движков с открытым исходным кодом. Это бесплатно, спросите Вы? И да, и нет. Отмечу сразу, что профессиональное готовое решение не может быть бесплатным, если Вы сами не являетесь разработчиком сайтов. При этом не так важно, какой движок будет использоваться, но мы отклонились от темы. Итак, о готовых брендовых решениях.

Из плюсов могу выделить:
- распространенность и постоянное развитие продуктов;
- большое количество специалистов, работающих с ними;
- огромное количество готовых функциональных решений;
- относительно легкая реализация для простых проектов.

Из минусов, пожалуй, следующие:
- открытый исходный код и постоянное появление уязвимостей, наличие вирусов, написанных под них, и нецелевые массовые атаки;
- некорректная работа многих сторонних функциональных модулей;
- проблема с работой модулей под новые версии движка (после обновления, которое от части решает проблему безопасности);
- изначальная ориентация на узкий круг задач (к примеру, Wordpress предназначен для создания блогов);
- сложность внедрения изменений, нарушающих базовую архитектуру движка;
- относительная сложность интерфейсов управления для не имеющего опыта администратора (много лишних опций);
- проблемы со скоростью работы у некоторых движков.

Не буду хвалить или критиковать данные продукты. Как видите, все их плюсы тесно сопряжены с недостатками, без работы над которыми, использование таких движков может существенно осложнить функционирование сайта и тот факт, что на нем стоит шильдик “Wordpress”, будет слабым утешением… Но, если все необходимые работы проведены специалистом, все будет в порядке. Индикатором может служить стоимость работы и список правок по устранению недостатков того или иного движка этой категории, которые выполняются разработчиком сайта. К примеру, для повышения безопасности ставятся дополнительные модули, для нивелирования конфликта версий движку запрещают автоматическое обновление (его проводит специалист через какое-то время, вручную адаптируя все модули под следующую стабильную версию) и т.д.

2. Движки “собственного производства”.
Тут ведущую роль играют фреймворки. Если CMS - это уже готовое изделие в коробке, которое нужно только открыть и настроить, то фреймворк - это коробка с инструментами и инструкцией как их использовать для того, чтобы что-то сделать. Существуют также самописные решения, в которых разработчик сам создает себе все необходимые инструменты и логику их применения.

Используя все это, программисты строят свои собственные CMS. Большинство примеров из первого пункта появилось именно так. C течением времени они раскручивались и стали позиционироваться как готовые решения под своим брендом. Но кто сказал, что это идеальные решения? Именно поэтому существует огромное количество CMS собственного производства. Зачем же изобретать велосипед спросите Вы? А дело в том, что движки первой группы предназначены для массового использования: в них масса опций, которые “может быть кому-то и пригодятся…”, своя архитектура, которая применима не для каждого разрабатываемого сайта, и самое главное - популярность и открытый исходный код, что облегчает злоумышленникам поиск уязвимостей и массовые нецелевые атаки. Поэтому для достижения определенных целей иногда проще создать что-то свое, чем переделывать или дорабатывать то, что создано кем-то другим. Как ни странно, такие решения, как правило, дороже “коробочных”, т.к. это фактически работа на заказ, в которой под Вас прописываются только необходимые функции. Все это тщательно шлифуется и прорабатывается, сайт работает быстрее и может обладать созданным под Вас интерфейсом управления и т.д.

Для крупных корпоративных проектов и специализированных сайтов с уникальным сложным функционалом подбираются соответствующие фреймворки, для более простых вариантов могут быть использованы самописные решения с заимствованием тех или иных компонентов. Все это разрабатывается как студиями, так и отдельными специалистами, и может предлагаться в качестве отдельного движка или полного цикла создания сайта и в любых возможных сочетаниях.

По сути, продукты этой группы могут иметь ровно те же преимущества и недостатки, как и готовые решения от брендовых производителей. Но в целом такой подход дает большую свободу действий для разработчика сайта, возможность лучше адаптировать продукт под конкретную задачу и клиента, развивать свои сильные стороны и конкурентные преимущества.

В итоге движок - это в любом случае набор запчастей. Все завесит от того, как будут собирать, настраивать и обслуживать. С брендами все не однозначно. В нынешней культуре потребления качество падает под любым шильдиком, тем более, что под красивой этикеткой можно спрятать все, что угодно, к разработке сайтов это тоже относится. В моей практике в конце встречи клиенты часто задают два простых вопроса: “Работать будет? Если что - поможете?” За утвердительным ответом следует рукопожатие и начало работы. Наверно, это правильно. Главное точно понимать, что Вам нужно и быть уверенным, что Вы это получите от конкретного разработчика. Общайтесь, смотрите портфолио, просите показать панель управления в действии, задавайте все интересующие Вас вопросы и добивайтесь четких ответов. Желаю удачи и новых успешных проектов.
(095)389-72-75 (097)034-85-13