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

На рынке CMS представлены десятки различных вариантов готовых решений создания и разворачивания сайта. В этой статье речь пойдёт о сравнении двух весьма известных движков, таких как Symfony и Битрикс. В преимуществах и недостатках одного и другого попробуем разобраться далее.

Изначально можно предположить, что клиенту и хозяину создаваемого сайта не важно на какой платформе будет создана его страница. Главное лишь бы отвечала необходимым требованиям, передавала необходимую информацию, была сравнительно не дорого или бесплатной и всё. На самом деле это далеко не весь перечень характеристик, которые волнуют любого заказчика. Так немаловажными параметрами при выборе движка для построения сайта будут:
- количество готовых встроенных решений и их функционал, для возможности экономии при покупке дополнительных модулей;
- информационная безопасность и защищенность cms;
- возможность взаимодействия продукта с другими программами и базами данных заказчика;
- реализация масштабирования проекта;
- стоимость обслуживания, сопровождения, оптимизации и возможность выполнения этих функций самостоятельно;
- возможность изменения сопроводителя сайта и переноса проекта на другую платформу без потери данных;
это далеко не весь перечень параметров которые волнуют заказчика при выборе CMS. О них более подробно поговорим далее и попробуем провести сравнительный анализ.

Рейтинг движка на рынке современных готовых решений по созданию сайтов.

Для клиента этот параметр не играет особой роли, но разработчику достаточно важно знать репутацию продукта, с которым предстоит иметь дело.
Если рассматривать 1С-Битрикс, то репутация его однозначно оставляет желать лучшего. Команда разработчиков не внедряет правильные и современные методы разработки при модификации продукта. Уровень поддержки и модификации перестал модернизироваться ещё лет 5 тому назад. Множество современных практик, инструментов и модулей в области web-разработки не интегрируются производителями в базовый комплект продукта. А возможность интеграции после установки также весьма усложнена а то и вовсе невозможна. Всё это приводит к падению рейтинга Битрикс в кругах разработчиков.
В этом плане Symfony значительно выигрывает у конкурента за счёт своей идеальной репутации с момента создания и по сегодняшний день. Многие части программного кода и отдельные компоненты модулей сборки успешно внедряются и другими командами производителей, такими как Drupal или Wordpress. Принципы, которые были впервые разработаны и использованы для Symphony интегрированы и задействованы даже в phpBB.

Квалификация исполнителя.

Авторитетность, осведомлённость и квалификационный уровень исполнителя является очень важным фактором выбора. Множество сборок и модулей возможно установить в один клик, образно говоря. Поэтому они не требуют от подрядчика каких-то особых знаний в области web-разработки. И зачастую за работу по созданию сайтов берутся даже школьники и студенты без необходимого багажа знаний. Что естественно вызывает затруднения потом, в случае возникновения нестандартных ситуаций или необходимости интегрирования дополнительных модулей.
Если говорить непосредственно о Битрикс то это платная сборка и только благодаря разрекламированности данного проекта разработчиков в этой среде достаточно много. Но действительно профессиональные подрядчики или команды обычно стоят весьма дорого, с учётом того, что платную CMS не будут себе выбирать несостоятельные клиенты. А если выбираете коммерческую основу, то будьте готовы вложиться и в её поддержку и раскрутку.
Что касается Symfony, то это фреймворк с открытым кодом, который разработан командой SensioLabs и поддерживается инициативным обществом квалифицированных разработчиков. Для того чтобы попасть в это общество необходимы достаточно углублённые знания в php, MySql, и т.д. Без понимания кода программной части и умения его модифицировать собственноручно, разработчику нечего делать в среде Symfony.
Если образно взять несколько среднестатистических специалистов того же Wordpress, Drupal, Битрикс и Symfony, то разработчикам исключительно в первых 3 фреймворках будет очень сложно интегрироваться и разобраться с Symfony. И напротив - любой подрядчик, работающий с Symfony с лёгкостью внедрится в работу с любой другой CMS. Это главная причина, по которой достаточно мало подрядчиков, работающих с Symfony. Но таким образом исключается возможность работы с низкокфалифицированным специалистом, который не сможет решить нестандартные задачи или ситуации.

Модули и дополнительные готовые решения.

У 1С-Битрикс большая часть стандартных компонентов предустановлены изначально. Ещё больше всевозможных модулей предлагается различными командами разработчиков. Но у каждого заказчика есть свои индивидуальные требования и пожелания, поэтому обычно универсальные "коробочные" модули Битрикса требуют тщательной доработки и переделывания для конкретных поставленных задач. Качество предлагаемых модулей и доработок также оставляет желать лучшего. Зачастую они проходят тестирование только со стандартным набором программного обеспечения. Поэтому в случае интеграции с каким-либо "не штатным" продуктом заказчика - могут возникнуть трудности, которые приведут и к замедлению скорости работы и возможности появления дыр в системе безопасности.
Для Symfony комплект предлагаемых модулей тоже весьма обширен. Но фактически при наличии прямых рук можно прикрутить любой программный код, если синтаксически правильно указать его для CMS и было совпадение по версии php. Битрикс таким удобством похвастаться не может.
Кроме того, в Битриксе модули решают непосредственную задачу в рамках функционала заданного CMS для необходимых условий бизнеса модуль комментариев к товару, модуль оплаты банковскими картами, модуль регистрации через социальные сети и т.д. В Symfony же модули по своему функционалу будут представлять собой лишь структурный каркас программного кода, к которому нужно дописывать необходимый функционал для поставленных задач. Поэтому для стандартных задач естественно будет выигрывать Битрикс. Но для более обширных возможностей куда удобнее Symfony. А при попытке дополнить модуль какой-то функцией в Битриксе придётся переделывать кучу кода модуля, таким образом гораздо удобнее дописывать на предлагаемый "костяк", нежели переделывать чужое решение - гораздо больше возможностей.

Ограничения функциональных возможностей.

В официальном руководстве разработчиков Битрикс указано, что на нём можно реализовать систему абсолютно любой сложности. Это значит, что вы можете делать абсолютно всё, что поддерживается предустановленными технологиями самого Битрикса. Причём ключевой будет именно фраза "всё, что поддерживается". Но при попытке интеграции фреймворка с нестандартной БД того же Оракла придётся самостоятельно писать драйвера для интеграции и работы с этой СУБД. Или при попытке изменить код любой из статических страниц модуля необходимо будет действовать в пределах разрешений, установленных разработчиками. А обычно они достаточно ограничивают подрядчика и за 8 лет существования CMS их политика в этом плане не менялась ни разу.
С Symfony возможно работать без каких-либо ограничений. Даются лишь рекомендательные сопроводительные мануалы для решения определённых задач, но каждый подрядчик способен выполнять задачу на уровне своих возможностей и знаний. Единственные рамки с ограничениями могут присутствовать у производителей отдельных модулей. Но и тут разработчик при желании может изменить всё, что захочет. Ведь как говорилось выше модули по своему принципу представляют каркас, который дорабатывается подрядчиком под конкретные задачи.

Стабильность.

Нельзя назвать 1С-Битрикс стабильной системой. Во время обновлений в патчах может быть выпущено обновление, которое нарушит работу Вашей системы и придется переделывать многие блоки под новую структуру фреймворка или откатываться назад. А это весьма неудобно. К тому же при детальном изучении CHANGELO-ов обновлений выясняется, что большая часть их посвящена заделыванию дырок и исправлению ошибок предыдущей версии. Именно эта особенность заставляет серьёзно задумываться перед установкой нового обновления. Для сравнения в Symfony по сути обновлений около 60% посвящены улучшениям по безопасности и исправлению багов, а порядка 40% - добавлению новых функциональных возможностей.
Это касаемо небольших патчей и фиксов. Если рассмотреть глобальные версии обновлений того же Битрикса то становится непонятным его процесс версионирования. По сложившейся практике глобальные версии выходят раз в год. И где-то каждые пол года появляются дополнения и патчи. Но если обратиться в поддержку продукта, то первым требованием будет обновление версии до актуальной на данный момент. А это к сожалению не всегда бывает возможным.
В Symfony поддержка обновления различных релизов зафиксирована. Все релизы ограничены различными периодами поддержки и эта информация обычно содержится на официальном сайте. Также код фреймворка состоит из автоматических тестов. Модули, выпускаемые дополнительно тоже покрыты автотестами. Подрядчик при работе с Symfony в любой момент имеет возможность запустить автотест и проверить стабильность системы. В Битриксе автотестам не уделяется должного внимания. И несмотря на их наличие функционально они не проверяют того, что нужно.

Автоматизация использования, разработки и установки дополнений.

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

Документация и поддержка продукта.

Документации и мануалов по Битриксу достаточно много и они несут в себе множество информации. Есть различные форумы, сообщества разработчиков, технические пояснения. Присутствует отдельная документация по различным модулям и дополнениям, по отдельным структурным частям CMS. Но при таком изобилии информации она структурно не упорядочена и не ведётся какой-либо единой базы с пояснениями, поэтому зачастую чтобы найти решение проблемы приходится перерывать множество ресурсов и форумов.
В Symfony документация более структурирована, лаконична и объективна, имеет распределение по версиям, ведутся страницы с наличием данных об обновлениях. Круг разработчиков сконцентрирован вокруг кода, который открытый для изменений — любой желающий и разбирающийся специалист может присоединиться и внести вклад в разработку Symfony. Документация отвечает на все возникающие вопросы и помогает разобраться в любых нештатных ситуациях.

Безопасность.

Битрикс свою известность получил и благодаря своей безопасности. Это кстати зачастую и является одним из решающих факторов при выборе движка. И на рынке CMS действительно занимает одно из лидирующих положений в плане защищённости. Но разработчиками Битрикса не ведётся учёт и контроль качества сторонних модулей, производимых различными командами. Учитывая неквалифицированность отечественных разработчиков, зачастую все уязвимости и построены на дырах дополнительных модулей. Также предлагаются дополнительные инструменты, такие как скрипт для восстановления бэкапа, через которые обычно и проникают злоумышленники.
Symfony несколько иначе подходит к безопасности и сама CMS, работая с кодом модуля проверяет его на безопасность. Поэтому шансов установить опасное дополнение гораздо ниже.

Соответствие современным тенденциям рынка.

В нашей стране не уделяется должного внимания разработке на php. И общество разработчиков Symfony в этом отношении является безусловным лидером и так сказать задаёт тон мировым программным наработкам php. Многие модули и дополнения, разрабатываемые для Symfony успешно интегрируются и используются в других системах. Все разработки поддерживаются, развиваются и модернизируются с завидной регулярностью, так как Symfony безусловно продукт мирового масштаба.
Битрикс напротив не вносит никакого вклада в opensource и развитие программных наработок и инструментов php. Цель разработчиков - исключительно финансовая прибыль. Поэтому зачастую используются устаревшие подходы и методы при реализации необходимых задач - главное лишь бы работало. А объемность кода и оптимизация далеко не в приоритете для разработчиков.

В качестве заключения.

- Преимущества Битрикса.
Самым главным достоинством безусловно является простота инсталляции и развёртывания сборки. Поэтому при наличии финансовой возможности реализовать стартовый вариант серьёзного интернет-проекта проще и удобнее будет на Битриксе. Наличие готовых компонентов и модулей облегчит и упростит работу а также сэкономит кучу времени, если это позволяет бюджет. Но если проект будет приносить прибыль и давать запланированный результат, то куда лучше переходить на более стабильные фреймворки.
Также важное значение имеют модули, заточенные под специфику нашего государства. Для бизнеса предусмотрена масса готовых решений в виде интеграции с российскими платёжными системами и логистическими службами, соответствие национальным законам и требованиям. Symfony таким функционалом похвастаться не может, но при наличии прямых рук и знаний в области php, сложности при написании и прикручивании дополнительных функциональных модулей возникнуть не должно.
Если перед проектом не ставится конкретных специфических задач и на разворачивание выделено ограниченное время, то Битрикс будет вполне подходящим выбором. И в маркетплейсе Битрикса достаточно готовых хороших решений, которые можно самостоятельно развернуть за пару вечеров. Но дальнейшее развитие проекта, если оно предполагается обойдется весьма недёшево.
- Минусы Symfony.
Пожалуй главным и пока единственным недостатком Symfony является отсутствие тестирования фреймворка в демо-версии. Обусловлено это тем, что под каждый проект собирается индивидуальная сборка. Так что если в команде нет сильного разработчика это может значительно усложнить задачу и затянуть процесс развёртывания. Но возможность изучить и пощупать отдельные готовые решения на базе Symfony всё же имеется.

Недавние публикации

Почему лучше начать новый проект на Symfony, чем на Битриксе? Сравнение.

В этой статье речь пойдёт о сравнении двух весьма известных движков, таких как Symfony и Битрикс. В преимуществах и недостатках одного и другого попробуем разобраться далее.

Подробнее

Разработка интернет проектов

Узнайте о том что мы называем интернет проектами, и какие способы их реализации мы предлагаем.

Подробнее

SEO оптимизация и поисковое продвижение сайтов в интернете

Узнайте для чего нужно продвижение и каких результатов можно достичь.

Подробнее

Техническая поддержка и обслуживание интернет сайтов

Узнайте как выгодно содержать сайт, что нужно, чтобы сайт приносил пользу.

Подробнее