Почему 1С-Битрикс — далеко не самое лучшее решение для сайта?
В России существует так называемый «феномен Битрикса» , который заключается в том, что далекие от программирования заказчики любят эту платформу за ее «внешние данные» , а большинство программистов наоборот люто презирают за «скверный характер» .
В представлении рядового заказчика 1С-Битрикс выглядит как некая весьма серьезная система, позволяющая успешно разрабатывать сложные и/или важные проекты, например, создавать корпоративные сайты, интернет-магазины, CRM-системы и т.д. Однако сами программисты зачастую отзываются о Битриксе как о «плохокоде», который являет собой худшее, что есть в мире программирования.
Итак, за что же большинство «айтишников» люто ненавидят эту систему? Все претензии, которые обычно озвучиваются в отношении Битрикса, сводятся к двум основным проблемам — архитектуре и коду.
Отсутствие нормальной архитектуры
Программисты со всего мира постоянно работают над тем, чтобы улучшить и упорядочить архитектурные решения, используемые в разработке программных продуктов. Люди стремятся создавать универсальные «паттерны» (схемы участков для больших систем), которые можно было бы использовать, независимо от конкретного языка программирования. Это можно сравнить с изобретением колеса и другими большими и мелкими новациями, которые избавляют каждое следующее поколение программистов от выполнения самой низовой «черной» работы и позволяют «потомкам» достигать новых вершин.
В то же время Битрикс представляет собой полное отсутствие архитектуры как таковой. Это просто десятки или даже сотни тысяч файлов, содержащие плохо связанные друг с другом куски кода. Вместо нормальной системы, в логике построения которой можно было легко разобраться при беглом ознакомлении, здесь мы имеем полный хаос никак не систематизированных объектов.
В идеале система должна напоминать собой университетскую библиотеку, где каждый том стоит на своем месте, подчиняясь внятной системе каталогизации. Но в Битриксе мы получаем просто в кучу сваленные книги без всякой организации. В отсутствие внятной архитектуры связи между разными компонентами совершенно неочевидны и порой всю систему можно «положить», буквально переставив местами два компонента.
Сложность и запутанность кода
Эта проблема напрямую проистекает из того, что в Битриксе отсутствует нормальная архитектура. Здесь хаотично перемешаны HTML код и JS, PHP, CSS. Это приводит к тому, что для устранения какой-либо проблемы либо добавления нового блока в общий код необходимо проделать кучу сложных, утомительных и далеко не очевидных манипуляций. Иными словами, программисту приходится исполнять так называемый «танец с бубном» , не имея гарантии, что танец поможет.
Что это значит на практике? Если вы захотите просто взять и интегрировать Битрикс с 1С своего предприятия при помощи стандартного модуля, с вероятностью 99% вам это не удастся. Вам придется привлечь программиста, чтобы он потратил десятки или даже сотни часов своего времени на интеграцию одного с другим.

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

К платформе Битрикс выдвигается много претензий. Про нее распущено множество слухов. Чтобы развеять ваши предубеждения, мы решили их прокомментировать.
— На основе оценок 4 человек
Первая загвоздка – деньги!
Утверждается, будто за неструктурированный и не поддерживающий ООП-парадигму код Битрикса не могут взиматься такие деньги. Хотя в реальности о больших деньгах речь не идет – стоимость стандартной поставки по карману практически каждому. Главное в платформе Битрикс, не наличие или отсутствие поддержки тех или иных стандартов, а ее универсальность и функциональность. Используя Битрикс можно изготовить сайт любой тематики: от одностраничной визитки, до крупной торговой площадки или новостного портала. Все будет работать быстро, а управляться легко. Конкретный пример – bitrix24.com с многомиллионной посещаемостью.
Из сказанного следует вывод: Битрикс – это неподходящая платформа для мелких проектов, наподобие блога не потому, что он плох, а потому, что эту нишу занял WordPress и аналогичные ему узкоспециализированные инструменты.
Практически это означает, что лицензию на Битрикс стоит приобретать лишь организациям и частным лицам, рассчитывающим на то, что их бизнес будет развиваться. Тогда покупка Битрикс обоснована.
Битрикс не дружит с 1С:Предприятием!
Да, и такое приходится выслушивать о платформе, которая имеет родимую интеграцию с 1С. Правда это или вымысел? Ведь слышим мы это порой от продвинутых в техническом отношении и опытных товарищей. Все зависит от того, насколько сильно была модифицирована исходная конфигурация 1С: Предприятия. Взаимодействуя с учетной системой, Битрикс рассчитывает, что ее внутренности отвечают критериям, заложенным в конфигурацию разработчиками. Если некто видоизменил программный код и структуры данных 1С настолько, что CMS перестанет их понимать, то и работать штатный модуль не будет.
Чтобы не столкнуть с описанной выше проблемой можно либо не трогать руками 1С:Предприятие (по крайней мере, те его компоненты, что могут коснуться Битрикса), либо делать это аккуратно, с полным пониманием последствий этого шага и готовностью дорабатывать не только 1С, но и Битрикс.
Громоздкая «админка»
Ожидать от интерфейса серьезной системы, что он будет выглядеть как интерфейс программы игры в «Тетрис» — наивность, граничащая с глупостью. «Лохматость» админки Битрикса, вызвана необходимостью удовлетворить потребностям широкого круга пользователей с сильно отличающимися запросами к системе. Вряд ли кто-то станет особенно выступать, по поводу громоздкого функционала любой современной операционной системы. Главное в ней то, что все лишние и невостребованные «рюшечки» можно легко отключить, без потери качества эксплуатации. То же самое и с админкой Битрикс – все ненужные разделы можно спрятать, а неиспользуемые модули исключить из текущей конфигурации. Админка настраивается как под конкретного человека, так и под группу людей (например, контент менеджеры или менеджеры по продажам). В итоге останется лишь то, что вы используете в повседневном труде. Зато, если вам срочно что-то понадобится, – вы будете знать, где это взять, а не размышлять о переходе на другую CMS.
Нет знающих Битрикс людей
Сразу скажем: в природе они существуют. Их нет на многочисленных непопулярных у специалистов биржах фриланса, где они если и водятся, то их квалификация тонет в море некомпетентности профанов, ламеров и «чайников». Отсутствие у Битрикса внятной архитектуры означает одно – если программист не владеет системой досконально, он почти наверняка напишет «говнокод». Что сплошь и рядом встречается на практике. Некомпетентность в программировании – не единственная причина провала проектов. Нанятый разработчик может быть отличным специалистом, например, по Laravel или Django. Но когда такой эксперт хватается за незнакомый ему Битрикс, полагаясь на практику работы с другими CMS, — результат выглядит бледно. Профессионалы давно уже оккупировали кресла в солидных аутсорсинговых компаниях, специализирующихся в области разработки конкретно на Битриксе. Нанять их можно как для постоянного сопровождение вашей CMS, так и с целью проведения каких-то разовых работ (например, по установке, настройке или доработке системы и шаблона).
Рекомендуется нанимать на проект не универсала-самоделкина или эксперта по Flask-у и Python-у, а узкого специалиста конкретно по Битриксу, с непрерывным стажем работы в данной конкретной области. Лучше всего в солидной веб-мастерской с хорошей репутацией. Вычислить «спеца» довольно просто – по наличию сертификата «Битрикс». Его получение обставлено таким количеством формальностей, что сертификат нельзя ни купить, ни подделать.
Обсудим отрицательные отзывы
Каких только «помоев» не выливают друг на друга конкурирующие за благосклонность покупателя компьютерные компании. Хотя любому нормальному человеку должно быть понятно: ничем мистически-радикальным эти производители друг от друга не отличаются, а отличаются лишь масштабом своей деятельности и опытом. По данному критерию компания Битрикс не имеет в нашей стране себе равных, а, значит, вряд ли выпустит на рынок провальный продукт для массового употребления, не являющийся некоей экспериментальной разработкой. 1С:Битрикс действительно хорошая система, что подтверждается многочисленными и авторитетными рейтингами.
Приобрести себе врага, она способна только попадая не в те руки. Так обычно и случается. Рассмотрим несколько примеров.
Пример первый: «Битрикс `тормозит`»
Установите web-сервер и Битрикс на Pentium 100, и они будут «тормозить» еще больше. Слабое железо хостера – это одна из причин, причем не самая главная. Железо можно легко поменять. А вот криворукость программистов просто так не исправишь. Производительность Битрикс практически полностью построена на кэшировании всего чего только можно. Это не учитывают разработчики, привыкшие иметь дело с другими инструментами. Использование «тяжелей» верстки верстальщиками также не ускоряет сайты на Битрикс.
Пример второй: «Битрикс плохо документирован»
Нет проблем: возьмите любой достаточно крупный программный продукт, и вы обнаружите в нем те же недостатки. Фирменная документация не обязана описывать все «от и до» — она служит руководством к действию на некотором множестве типичных ситуаций. Лучше всего документировано ядро CMS — к качеству описания функций ядра не придерешься. Мнение распространилось в период, когда изготовляемые подразделением Битрикс дополнительные модули не снабжались подробным описанием. И если вы хотели установить такой модуль, то возиться с ним приходилось долго и нудно. Особенно тем, кто намеревался что-нибудь в нем подправить. Сегодня даже дополнительные модули выпускаются в комплекте с удовлетворительно написанной документацией, а большинство разработчиков проходят стажировку на профильных курсах.
Пример третий: «У Битрикс проблемы с SEO»
Нужно признаться, до какого-то момента так и было. Разработчики платформы стремились решить другие задачи: максимальной интеграции CMS с 1C: Предприятием и наращивания возможностей воспроизведения той или иной бизнес-логики. Как только эти цели были достигнуты, настало время SEO. Новый движок Битрикса имеет массу опций для удобства работы SEO-шников. Если в других CMS им нередко приходится лезть непосредственно в код или доставлять другие плагины, то Битрикс позволяет сделать то же самое, не покидая интерфейса. Только в 10 случаев из ста специалисту по SEO придется звать на помощь программиста. Совместимость SEO-модуля Битрикс с роботами поисковых систем подтверждена сертификатом компании «Ашманов и партнеры».
Пример четвертый: «Битрикс – маркетинговый пузырь»
Факты – вещь железная, а факты свидетельствуют об обратном: и «Евросеть», и «Альфастрахование», и «РИА Новости», и банк «Зенит», и «Эльдорадо» — выбрали Битрикс. Вряд ли они руководствовались информацией, почерпнутой из рекламных проспектов.
Битрикс 24 и amoCRM: в чем разница?

На российском рынке CRM систем существует множество решений на любой кошелек и для любого бизнеса. Сегодня мы поговорим про две системы, которые выделяются на фоне конкурентов — amoCRM и Битрикс24, а также посмотрим, чем одна система отличается от другой.
amoCRM

Удобная система с широким функционалом и возможностью интеграции с любым сервисом благодаря API. Встроенные виджеты и интерфейс разработчика позволяют адаптировать систему под различные нужды бизнеса.
– Все заявки клиентов фиксируются в системе
– Мобильная версия позволяет работать со смартфона
– Встроенный сканер визиток
– Интеграция с e-mail, мессенджерами и социальными сетями
– Интеграция с IP-телефонией
– Система аналитики
– Автоматизированная воронка продаж
– Встроенный мессенджер
Есть несколько нюансов — у системы отсутствует коробочная версия и она заточена под отдел продаж, поэтому не подойдет для розничной торговли и нестандартных бизнес-процессов.
Зато система обладает обширными возможностями для построения эффективного отдела продаж: автоматические заявки, постановка задач менеджерам, система аналитики, быстрые коммуникации с клиентами через встроенный чат и многое другое.
Пробная версия — 14 дней.
Битрикс24

Система ориентирована на ведение проектов, а продажи являются лишь составляющей частью. У системы есть бесплатная версия для ведения проектов.
– Создание проектных группы
– Формирование каталога продуктов
– Работа со складом
– Облачное хранение корпоративных документов
– Автоматизированная воронка продаж
– Конструктор веб-сайтов
К недостаткам можно отнести плохую техническую поддержку и сложность в настройке системы. Несмотря на широкий функционал, в ней очень трудно разобраться.
Пробная версия — 30 дней.
Сравнение Битрикс24 и amoCRM
Давайте сравним основные параметры двух систем и посмотрим, что лучше подойдет для отдела продаж — amoCRM или Битрикс24.
1. Программное обеспечение
amoCRM – только облачная версия
Битрикс24 – облачная и коробочная версия
amoCRM – простой интерфейс, легко разобраться в системе и начать работать
Битрикс24 – сложный интерфейс, много модулей и нужно долго разбираться, что к чему
3. Возможность доработок
amoCRM – интегрируется с любыми расширениями, можно создавать свои виджеты
Битрикс24 – интегрируется только с виджетами, которые были созданы компанией
4. Подойдет ли для отдела продаж
amoCRM – заточена под продажи с длинным циклом сделки
Битрикс24 – подойдет, если нужно сочетать продажи с ведением командных проектов
amoCRM – 499 руб/мес за пользователя
Битрикс24 – 1190 руб/мес
Мы рассмотрели, чем отличаются битрикс24 и амосрм.
Хотите подобрать систему для вашего бизнеса? Оставьте заявку, и наши аналитики расскажут про возможности системы для вашей отрасли и индивидуальных задач компании.
Разработали модуль MAXMA для «1С-Битрикс» за 2 месяца

MAXMA — платформа лояльности для ритeйл-сетей. Система позволяет настраивать и вести бонусную/скидочную программу лояльности в рамках бренда, сегментировать базу пользователей, создавать промокоды, делать рассылки (SMS, push, мессенджеры, email). Как результат — улучшать взаимодействие покупателей с брендом и помогать бизнесу увеличивать выручку.
Среди клиентов платформы — XIAOMI, Alena Akhmadullina, Paolo Conte, LOREAL, SuperStep и другие.
Предыстория
Успех интеграции платформы с сайтом зависел от одного главного фактора: у заказчика хватает ресурсов и компетенций разработки, чтобы реализовать возможности платформы. Например, правильно внедрить скидочную систему, корректно обработать формы списания бонусов и применения промокода и т. д.
Если у программистов недостаточно опыта работы с интеграциями, все может затянуться на несколько месяцев + пострадает качество.
Клиент обратился к нам, чтобы получить готовое решение, которое сократит затраты на интеграцию по сроку и ресурсам.
Все больше клиентов приходят на интеграцию с сайтом на вооружении. Обычно это связка розничной POS-системы + сайт.
MAXMA самостоятельно не разрабатывает сами интеграции с сайтами, так как все они индивидуальны. Вникать в каждый проект отдельно заняло бы очень много времени наших специалистов.
Мы подготовили для разработчиков типовое ТЗ и документацию API, но интегрирование сайтов с MAXMA все равно требовало серьезных временных затрат.
Так как большая часть наших партнеров работает с «Битриксом», встал вопрос о разработке готового решения «из коробки» в виде подключаемого модуля.

Егор Булычев
Руководитель интеграций MAXMA.com
Задача
Разработать готовый модуль для подключения к любому сайту на базе «1С-Битрикс». Ожидаемые сроки: 2–3 месяца.
Команда Intensa сразу заинтересовалась в проекте: внимательно подошла ко всем нашим требованиям и пожеланиям и дала разумные комментарии и предложения на основе собственного опыта.
Ожидания полностью оправдались. Мы получили именно то, что изначально хотели.

Егор Булычев
Руководитель интеграций MAXMA.com
Результат
Разработали модуль за 2 месяца. После модерации опубликовали его в маркетплейсе «1С-Битрикс». Также подготовили документацию по модулю, чтобы помочь заказчикам MAXMA сделать кастомизацию для сайта.
В модуле есть все необходимые операции и компоненты для интеграции MAXMA с интернет-магазинами.
Это позволяет решить 2 задачи:
1) Ускорить и удешевить интеграцию платформы с сайтами заказчиков.
2) Стандартизировать работу системы с точки зрения качества кода. То есть на качество интеграции не влияет опыт программистов.

Что умеет модуль:
— передавать в MAXMA информацию о пользователях и их заказах;
— отображать в карточке товара баллы, которые начислятся за покупку;
— применять промокоды;
— списывать баллы.
Так как большинство сайтов на «Битрикс» — стандартные, им сразу подойдут решения, реализованные в модуле, без дополнительных модификаций.
Если сайт почти не отличается от стандартных решений «Битрикс», платформу лояльности можно интегрировать за день с минимальными компетенциями по программированию.
Если сайт кастомизирован, то интеграция может занять несколько недель.
До модуля интеграция с сайтом занимала порядка 2 месяцев. Сейчас примерно 3 недели. И то в случае, если клиенту не хватает основного функционала модуля и требуются мелкие персональные кастомизации.
Сейчас модуль активно используют 10+ брендов. Еще примерно 5 клиентов на тестировании. С них мы стараемся собирать фидбэк по работе, чтобы довести типовой модуль до состояния, которое подходит большему числу партнеров.

Егор Булычев
Руководитель интеграций MAXMA.com
Этапы работы
Мы работали еженедельными спринтами — по SCRUM. Теперь подробнее о каждом этапе.
Разработка модуля
В модуле реализовали:
— Обработчики событий стандартных модулей «1С-Битрикс».
— Правила работы с корзиной.
— Функции отключения обработки заказов для группы пользователей.
— Отложенная отправка ошибочных запросов к API.
— Компоненты публичной части.
— Логирование данных.
Разберем по пунктам.
Обработчики событий. По сути это код, который позволяет сайту среагировать на событие: создание заказа, регистрацию пользователя и т. д.
Работает так: обработчик отлавливает на сайте событие —> формирует о нем данные —> отправляет информацию в MAXMA.
Чтобы, например, создать в MAXMA новых покупателей, нужен обработчик двух событий:
— регистрация пользователя на сайте,
— авторизация пользователя на сайте.
Когда пользователь регистрируется или авторизуется, обработчик ищет его в базе MAXMA по номеру телефона и в зависимости от результата регистрирует пользователя, изменяет его данные или не выполняет никаких действий.
Также в модуле есть обработчик, который реагирует на события с заказами:
— создание и изменение заказа,
— выкуп и отмена заказа.
Этот обработчик нужен, чтобы создать или обновить заказ в базе MAXMA.
Правила работы с корзиной. Нужны, чтобы применять в корзине промокоды и бонусы, использовать скидки, которые есть в MAXMA.
Скидка рассчитывается, когда в корзине происходят следующие события:
— списание бонусов,
— применение промокода,
— пересчет заказа.

Функция отключения обработки заказов для группы пользователей. Разрешает не обрабатывать заказ для определенных групп пользователей. Например, для группы маркетплейсов.
Функция отложенной отправки ошибочных запросов. То есть запросы, которые не отправились в MAXMA, через время отправятся снова.
Это нужно, чтобы безотказно передавать данные с сайта в MAXMA.
Отложенная отправка действует для следующих запросов:
— создание нового клиента,
— создание и изменение заказа,
— выкуп заказа,
— отмена заказа,
— обновление External ID клиента.
Если запрос не отправился, он сохраняется в базу данных. Потом каждые 5 минут скрипт повторно пытается отправить его в MAXMA. Максимальное количество попыток повторной отправки — 24 раза.
Компоненты в корзине и карточках товаров. Компонент — это составная часть программы. Он позволяет логически разделять код на блоки. Каждый компонент отвечает за определенное действие, функцию.
Для корзины и карточек товаров мы разработали:
— Компонент баллов в карточке товара — отображает количество бонусов, которое будет начислено при покупке товара.
— Компонент бонусов в корзине — отображает количество бонусов покупателя и содержит форму списания бонусов при оформлении заказа.
— Компонент промокода в корзине — представляет собой форму ввода и применения промокода.

Логирование данных. Логирование — это запись логов. Лог — это файл, где записывается информация о работе программы/системы.
Логировать данные нужно, чтобы вернуться и перепроверить их. Например, если произошла ошибка. Так можно отследить, на каком моменте что-то поломалось.
В модуле логируются следующие данные:
— запросы от сайта к серверу и ответы от MAXMA,
— ошибки расчета скидок в корзине,
— ошибки при поиске и создании клиента,
— ошибки при подтверждении выкупа и отмены заказа.
Разработка дизайн-макетов и CSS-стили
CSS — это код, который используют для стилизации страницы. Проще говоря, он отвечает за то, как выглядит страница.
Мы разработали дизайн-макеты и CSS-стили, которые позволяют за несколько кликов настроить внешний вид компонентов на сайте.
1) Сделали дизайн-макеты компонентов для страницы карточки товара, корзины и оформления заказа.
2) Стилизовали компоненты бонусов, промокода в корзине, начисляемых баллов в карточке товара — разработали вид компонентов, их цвет, шрифт, иконки, тени, обводки.
3) Подготовили их для десктопа и мобильной версии.
Отступы, ширину и высоту элементов можно менять под стиль сайта. Также можно заменить текст на отдельных элементах, например, плейсхолдере.
Как это работает: разработчик встраивает данные компоненты на свой сайт и затем с помощью CSS адаптирует их внешний вид под дизайн сайта.

Особенности проекта
У «Битрикса» скидки на товары и на доставку проходят через разные системы — их нельзя объединить в одну скидку. То есть пользователь может выбрать скидку либо на товар, либо на доставку. Поэтому сейчас мы реализовали в модуле только скидку на товар, а доставку забрали на развитие проекта в будущем.
Отзыв клиента
Мы предоставили коллегами из Intensa roadmap проекта. Вся работа велась четко по ней!
Ребята отзывчивые. По любым правкам и вопросам мы получали оперативную связь, что для нас очень важно — так как мы напрямую общаемся с клиентом, наша скорость ответа напрямую зависит от реакции со стороны команды Intensa.
Из нюансов можно выделить скорее наши общие мелкие допущения в проекте. Мы не учли на старте некоторые моменты. Но в процессе разработки всё оперативно исправлялось.
По итогу работ Intensa предоставила подробную документацию по модулю — в помощь команде MAXMA и клиентам для кастомизации.
Отдельно хотим выделить отзывчивость и активное обсуждение вопросов по доработкам и фиксам.

Егор Булычев
Руководитель интеграций MAXMA.com
Intensa — производственное агентство для e‑commerce.
Мы помогаем торговым сетям увеличивать выручку интернет-магазинов за счет быстрой и отлаженной аутсорс-разработки.
