Почему в "1С-Битрикс: Управление Сайтом" невозможно работать без боли.

И почему по-другому ─ никак.

Сегодня, восемнадцатаго дня, месяца апреля, две тысячи двадцатаго года от Р. Х. прошло ровно два месяца с тех пор, как я вернулся в сферу web-разработки для eCommerce, и практически ежедневно начал пользоваться CMS-системой "1С-Битрикс: Управление сайтом". У нашей компании более 30 активных проектов на поддержке. Почти все ─ на "Битриксе" (здесь, и далее ─ этим словом я буду обозначать именно CMS-систему; если я упомяну CRM, то укажу, что речь идёт именно о "Битрикс24"). До февраля 2020 года я не имел практически никакого понятия о том, как всё устроено. Вскоре я окунулся в эту славную систему с головой.

Первая мысль, которая возникла при взгляде на интерфейс, была мысль "Это. Невозможно. Использовать". Интерфейс перегружен: огромное количество кнопок, индикаторов, полей, от caption'ов рябит в глазах. Пиктограммы на иконках не отражают сути действия. "Ну и что" ─ спросите вы. ─ "тогда как тебе интерфейс 3DSMax или Visual Studio"? Но очень большая часть аудитории "Битрикса" ─ маркетологи и предприниматели, а не моделлеры и разработчики. Среди всех этих полупонятных функций, повторяющихся кнопок, и встроенных редакторов страниц, в вечной войне страха и любопытства побеждает казуальный пользовательский опыт.

Ничего ведь не произойдёт, если я удалю кое-какие материалы из /bitrix?

И ведь в этом нет ничего плохого. Тут нет вины пользователей. Они выполняют свои привычные digital-сценарии: загрузить, удалить, обновить. Это нормально ─ не знать сложные технические параметры системы, и не различать множество шаблонов, редакторов, и прочего. Это нормально ─ ожидать, что действие "удалить материал" приведёт к его удалению, и не обрушит сайт, что изображение ─ сожмётся без потерь, и не превратится в кашу из пикселей. Это нормально для пользователя ─ ожидать от системы бесшовной и предсказуемой работы. Может быть, какая-нибудь клиентоориентированная упрощённая система простила бы им эти "ошибки". Но только не "Битрикс". Потому что...

"Битрикс" ─ это запутавшаяся в себе злопамятная стерва, которая не умеет прощать.

Возникает закономерный вопрос: если она так сложна, что насчёт обучения? Официальное обучение от 1С и Битрикс ─ практически неперевариваемая методичка без практики. Обучение устроено поэтапно: к примеру, нельзя сразу перейти к курсу "Разработчик". Сначала нужно пройти местный КМБ: "Базовый", затем ─ "Контент-менеджер", а затем ─ "Администратор". Предполагаю, что таким образом разработчики хотели избежать проблемы незнания функционала, и вытекающих из неё последствий. Но то ли из-за безразличия разработчиков, то ли ввиду изначальной нерешаемости задачи, всё, что касается обучения и сертификации в экосистеме Битрикс едва ли можно назвать обучением. Это зазубривание абракадабры, и сдача теста по выученному. У студента просто нет стабильного стенда для закрепления знаний. //Да, я знаю, что костыльный стенд можно запустить на два или три часа, после чего он удалится. Навсегда. Это не решает боль. Как следствие, до тех пор, пока я не получил доступы и не начал выполнять первые задачи по сайтам, я не имел представления о том, как система ощущается. То есть мало того, что "Битрикс" запутана, как Гордиев узел, так ещё и обучение не делает её понятнее.

В техническом плане "Битрикс" громоздка и неповоротлива. Она перегружена кодом, который не выполняется. Да, всё верно: внутри системы лежит масса файлов с кодом, который там просто "на всякий случай для красоты". То есть, вообще не подразумевается, что он будет выполняться. По крайней мере, с текущими настройками.

Кроме того, при всей комплексности, "Битрикс" преступно бедна на шаблоны. Стоковые — откровенно слабы по функционалу и устарели по дизайну. Сторонние решения — отдельная грустная песня: надстройки, вроде Aspro, встают криво, многократно усложняя систему. Если раньше в ней ломали ноги, в среднем, пять из десяти чертей, то теперь травмируются все девять. Можно легко обрушить всю вёрстку, сняв один чек-бокс в настройке модуля, или сбросить дизайн до заглушек, поменяв в настройках стиль баннера.

Надстройки, вроде Aspro встают криво, кратно усложняя систему. Если раньше в ней ломали ноги, в среднем, пять из десяти чертей, то теперь травмируются все девять.

Почему же тогда ей все пользуются?

Потому что "Битрикс" отвечает многим запросам связанным с разработкой веб-проектов. Без преувеличения можно сказать, что практически всем. А перегруженность возникла в стремлении закрыть все потребности клиентов. Разработчики добавляли всё больше функций и фич в существующую систему, но всем известно куда ведёт дорога, выстланная благими намерениями. Сложность системы порождает новые и новые итерации фак-апов у рядовых пользователей в самых неожиданных местах. Этого можно было бы избежать, только вот мешает одна из ключевых — с моей точки зрения — проблем: делегирование и ограничение прав. Пример: предприниматель получил от разработчика интернет-магазин, и ключи от административной части (с правами root-администратора системы). Через два месяца предприниматель нанял маркетолога, создал ему учётную запись marketing@magazin.ru, и вручил факел ведения интернет-магазина. Через неделю маркетолог, не обладающий навыками работы с "Битрикс", разбираясь с новыми разделами, случайно удалил ключевую папку, отвечающую за формирование динамических элементов страниц в каталоге. Теперь там везде торчит код, информации нет, и ничего не работает. Почему это произошло? Нет, маркетолог не тупой. Просто директор не знал, что нужно ограничить права, или не нашёл как это сделать. А почему это произошло? Потому что так устроен "Битрикс". Отсюда ─ множество пользователей с правами администратора, которые просто не знают, что можно трогать, а что нельзя. Следовательно, всё ломается постоянно.

Я поношу "Битрикс" на чём свет стоит, и вы, наверное, думаете, что я призываю ею не пользоваться. Это было бы логично, так как пользоваться ей действительно больно. Но есть нюанс.

"Битрикс" ─ это единственная система на рынке СНГ, которая закрывает все потребности клиентов по eCommerce. Крупнейшие интернет-магазины (Эльдорадо, М.Видео) работают на ней; страдают, плачут, но работают. "Битрикс" дружелюбна к интеграциям по API. Хотите "поженить" её с Laravel? Пожалуйста. Ей вообще неважно. Подключить "1С-Склад"? Легко. Вишенка на торте — своя CRM-система "Битрикс 24" (Да, у компании Битрикс есть определённые трудности с неймингом своих продуктов).

Дело ещё в том, что все остальные CMS-системы, доступные для нашего предпринимателя ─ ещё хуже.

Joomla лежит в моей личной палате мер и весов, как эталон того, "как делать не надо".

Очень важно понять: я не ставлю целью обложить "Битрикс" нечистотами, и отвадить людей от использования её. Это очень мощное решение для электронной коммерции. Да, она ужасна, но, говоря словами Черчилля, "лучше ещё не придумали". Правда вот в чём: то, что сейчас из себя представляет "Битрикс" ─ закономерно и неизбежно для системы такого размера. Она масштабировалась слишком широко, и от неё стало невозможно отпилить кусок таким образом, чтобы упростить её ─ и не потерять в функционале; или же добавить функционал, при этом не усложнив её ещё сильнее. В шахматах это называется "цугцванг", когда лучший ход ─ это не двигать фигуры вообще.

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