Здравствуйте. Я уже давно не пишу на php, но то и дело натыкаюсь на интернет-магазины на системе управления сайтами Битрикс. И я вспоминаю о своих исследованиях.
Битрикс не любят примерно так, как Москву начала 2000-х: успешный и денежный проект, объективно ничем не заслуживший свой успех. Так же делятся и разработчики: для одних это предмет ненависти, а другие смотрят со снисхождением и отмечают, что это самая коммерчески успешная система управления сайтами. Мои публикации о Битрикс не могли угодить ни тем, ни другим: одну сторону отвращает само упоминание о Битрикс, а другой не нравится игнорирование официальных рекомендаций для разработки под Битрикс.
И это всё очень интересно.
Джумла вызывает смех.
Вордпресс вызывает удивление.
Битрикс вызывает ненависть. Почему? Я захотел ответить именно на этот вопрос, и этот ответ оказался неожиданным.
Шесть лет назад я прошёл курсы разработчиков Битрикс. Вначале я честно пытался следовать рекомендациям и настраивать стандартные модули, но требуемых задач они не выполняли. Затем я стал использовать более низкоуровневые функции системы, но и они работали странно.
Постепенно я присоединил нормальный шаблонизатор, перешёл на чистый SQL и вообще отказался от самой архитектуры предлагаемой этой системой. По сути, мои разработки, это был уже не Битрикс, а некая надстройка над базой данных с предсказуемой структурой.
На некоторых проектах панель управления также почти не использовалась, поскольку был налажен импорт в интернет-магазин товаров и экспорт заказов в 1С, экспорт списка магазинов из 1С на сайт, и тому подобное. Фактически, от Битрикс оставалась только база данных.
Я обосновывал это для себя оптимизацией. Но настоящая причина вскрылась только спустя время. И она — совсем из другой области.
Ненависть рождается из обманутой любви, а любовь — это взгляд с экрана. При выборе системы для проекта, вам, заказчикам, обещают золотые горы, и, как программист, конечно, вы ожидаете прорывной архитектуры, которая подарит вам чистое наслаждение от программирования.
Но чем дальше вы погружаетесь в работу, тем больше разочаровываетесь. А деньги уже заплачены, силы уже вложены. Но только это не рождало бы такой ненависти. С кем не бывает, лоханулся, как все. Но это только начало.
Уже после покупки вас продолжают убеждать, что всё так и должно быть. Ваш стиль программирования — отражение вашего видения мира. Вас призывают его сменить. И вот это уже приводит к столкновению внутри вас.
Вы не можете принять этот стиль, но вам нужно его принять или отказаться от работы. А если вы пытаетесь отстаивать свою точку зрения, неожиданно, вы оказываетесь в меньшинстве, даже если технически вы абсолютно правы.
С точки зрения бизнеса, оставить систему в неизменном виде, максимально следовать рекомендациям производителя системы, использовать стандартные решения — это надёжный путь — непрофильная компания доверяется широко известному IT-производителю с огромным парком обслуживания. А на другом конце — доверие собственному наёмному программисту, качество решений которого проверить невозможно, который может уволиться в любой момент. Если сайт тормозит, нужно докупить более мощный сервер: это понятное и простое решение. А оптимизация завязана на решения конкретного программиста. Представляете, вас боятся.
Программисты мыслят парадигмами, менеджеры же мыслят бюджетами. Они общаются с такими же менеджерами из компаний-поставщиков. Они говорят друг с другом на одном языке, а ваших слов они могут просто не понимать, если они не переводятся на деньги.
Если посмотреть на проблему с этой стороны, то легко осознать, почему руководители не на нашей стороне. Менеджеры не видят технических тонкостей, они купили систему, и они же платят вам деньги. Для них легко и просто обосновывать затраты директорам и владельцам. Но для программиста всё это провоцирует внутренний психологический конфликт.
Но почему годы идут, а Битрикс по-прежнему продаётся? Поражение противников Битрикс рождается из неверной постановки вопроса. Да, технически вы более грамотны, но не вы решаете вопрос о покупке, иначе вы бы сами были менеджерами. А развитие Битрикс обуславливается именно таким мелким противостоянием между менеджментом и техническими специалистами, каждым решением о покупке лицензии.
Вы играете на том поле, на котором вам предлагают играть. Вы говорите об оптимизации — но она неочевидна, и преимущества не перевешивают. Вы говорите об удобстве использования — но вы же не будете делать свою собственную панель управления под один проект? Даже под несколько. Вы говорите о том, что интеграция из коробки — это миф, но, во-первых, у других она не лучше, а во-вторых, ведь вы тогда зачем? И, самое главное, вы говорите об архитектуре — и вас не понимают. Все ваши аргументы находятся в технической области. Но именно вы — технический специалист, и поэтому, это же и есть ваша задача — сделать так, чтобы технически всё работало. Так вам говорят.
Менеджеры сильны в работе словом. К тому же их обычно больше одного. И вам нужны очень сильные аргументы, чтобы переубедить их, даже если с вами будут советоваться. Но в этом споре вы проиграете. Обычно, у программиста на этом этапе будет недостаточно технического, управленческого, и просто жизненного опыта, чтобы вступать в подобные противостояния.
Аргументы технического плана выглядят несостоятельными, почти на каждый из них можно ответить, а другие вопросы можно просто заболтать, и у стандартного программиста меньше опыта в вербальных противостояниях, чем у менеджера. Обычно к системе предъявляется много частных и мелких претензий, на которые вполне можно ответить при должном уровне подготовки. На все эти мелкие споры и ведутся противники Битрикс, и в этих спорах они проигрывают.
Но попробуем выделить главное.
— В системе отсутствует единая точка входа. Это значит, что точку входа можно поставить где угодно: в запутанной структуре каталогов можно спрятать файл, который авторизует любого как администратора сайта. А сама эта бешеная вложенность поддиректорий как будто специально создана для таких внедрений.
— В системе существуют дублирующие друг друга модули, и ни один из них невозможно настроить под свои собственные нужды без внесения изменений, несмотря на то, что они имеют десятки(!) настроек. И наличие этих настроек сбивает с толку: кажется, что предусмотрены все функции, но на самом деле, это только иллюзия, созданная намеренно.
— Для того, чтобы получить доступ к данным, нужно вызвать много разнообразных функций, тогда как всё это можно уложить в один простой SQL запрос. В системе имеются даже штатные средства для работы с базой данных, и зачем тогда все эти разнообразные модули и функции? Чтобы пускать пыль в глаза, и замять вопрос оптимизации.
— Эту же цель имеет и так называемое трёхуровневое кеширование и прочие подобные функции, которые являются технически совершенно бесполезными, а введены исключительно ради включения загадочного, и потому привлекательного, термина в рекламную кампанию.
И теперь, видя, что столько усилий прилагается именно для того, чтобы представить систему как многофункциональную, современную и универсальную, не должно ли возникнуть у опытных менеджеров сомнение в том, что и все остальные аргументы продавцов того же плана?..
Но, даже если вдруг Битрикс начнёт проигрывать спор даже в техническом плане, и на этот вопрос заранее готов ответ: новая версия, в которой учтены все недоработки предыдущих версий. Забавно наблюдать этот общий приём, когда циклично, раз в два-три года, одни и те же производители предлагают нам купить новое и хорошее взамен плохого и старого. Которое было новым и хорошим два-три года назад.
В качестве итога, можно выделить несколько аспектов:
Неважно, какого качества система — главное, что она продаётся, а потом, когда купят, программист разберётся.
— пренебрежение вашей работой
Мало вам просто отдать, нужно потребовать, чтобы вы сделали именно так, как рекомендовано, чтобы вы продолжали поддерживать эту неверную архитектуру.
— психологическое насилие
Но именно сама архитектура и рождает проблемы. Выигрывает именно то, в чём вообще всё неправильно.
— несправедливость
Документация создаёт иллюзию широчайшего разнообразия функциональности каждого модуля за счёт наличия огромного количества настроек. За загадочными и притягательными маркетинговыми названиями псевдо-новых технологий прячутся технически совершенно бесполезные функции
— обманутые ожидания
Технически неправильно, но рыночно — гениально. И вы, на полностью техническом поле, ничего не можете с этим сделать.
— бессилие.
Как видите, чисто технических причин здесь нет. Поэтому и реакция такая эмоциональная.
Мы разобрались, почему Битрикс вызывает ненависть. Тем, кто вынужден дорабатывать эту систему, получил её по наследству, установил из-за решения менеджмента, предоставляется возможность выбора. Вы можете следовать всем рекомендациям разработчика Битрикс.
Действовать по-другому было сложно из-за
— неодобрения сообществом разработчиков и менеджмента
— недостаточности сведений об альтернативных способах работы
Эта статья поможет устранить противоречия первого пункта, по крайней мере, ваши внутренние. А последующие публикации, которые, я надеюсь, лень, занятость, и наличие аудитории таки позволят мне сделать, дадут ответы по второму пункту.
Посмотрите на рынок битрикс-программистов. Они в среднем дешевле всех. А дешевле — значит, ниже уровнем. Есть специальные ускоренные курсы для Битрикс-разработчиков практически с нуля. Вы хотите, чтобы ваш продукт разрабатывали люди с начальным уровнем программирования? Потом вам за него отвечать, а рядом с вами будет неопытный человек, который не сможет решить задачи, хотя бы немного выходящие за рамки тривиальных.
А если вы хотите защититься с помощью заказа сайта у профильных компаний-разработчиков, то знайте, что и они в массе своей используют труд таких же Битрикс-разработчиков, просто вы за него ещё и переплачиваете фирме-разработчику. В известной фирме-партнёре 1С, официальном дистрибьютере Битрикс, как раз после того, как я проходил в ней же обучение, открылась вакансия разработчика Битрикс. И мне предложили в полтора раза меньшие деньги, чем я имел в тот момент на своём текущем месте работы — и это лидер рынка!
Да, процесс найма такого работника довольно лёгок, так так требования к ним формализованы. Если ваш собственный программист выйдет за рамки требований для Битрикс разработчика, понятно, что в дальнейшем вам нужно будет составить свои требования к программисту, и эта опция лёгкого найма для вас пропадёт.
Но просто замените её другой квалификацией: знание SQL. Этого достаточно, чтобы человек мог разобраться и нормально работать с любой системой, в том числе, и с Битрикс.
Можете обновлять систему, можете — нет. Если вы не используете модулей, для вас это ничего не изменит. Никаких новых возможностей, которых не может реализовать программист, там не будет. Зато возможные проблемы несовместимости вы получить можете, даже в тех модулях, которые вы никогда не трогали.
Не бойтесь изменений в базе данных: в основных таблицах их не будет, это слишком дорогие изменения для системы с таким багажом обратной совместимости.
Главное, обновление системы — это предлог продать вам так называемую «подписку», без которой обновление будет невозможно.
Невозможно долго идти против себя. Но важно разобраться в причинах, чтобы сделать осознанный выбор, который, как всегда, остаётся за каждым.
Битрикс не любят примерно так, как Москву начала 2000-х: успешный и денежный проект, объективно ничем не заслуживший свой успех. Так же делятся и разработчики: для одних это предмет ненависти, а другие смотрят со снисхождением и отмечают, что это самая коммерчески успешная система управления сайтами. Мои публикации о Битрикс не могли угодить ни тем, ни другим: одну сторону отвращает само упоминание о Битрикс, а другой не нравится игнорирование официальных рекомендаций для разработки под Битрикс.
И это всё очень интересно.
Джумла вызывает смех.
Вордпресс вызывает удивление.
Битрикс вызывает ненависть. Почему? Я захотел ответить именно на этот вопрос, и этот ответ оказался неожиданным.
Несоблюдение рекомендаций разработчика Битрикс
Шесть лет назад я прошёл курсы разработчиков Битрикс. Вначале я честно пытался следовать рекомендациям и настраивать стандартные модули, но требуемых задач они не выполняли. Затем я стал использовать более низкоуровневые функции системы, но и они работали странно.
Постепенно я присоединил нормальный шаблонизатор, перешёл на чистый SQL и вообще отказался от самой архитектуры предлагаемой этой системой. По сути, мои разработки, это был уже не Битрикс, а некая надстройка над базой данных с предсказуемой структурой.
На некоторых проектах панель управления также почти не использовалась, поскольку был налажен импорт в интернет-магазин товаров и экспорт заказов в 1С, экспорт списка магазинов из 1С на сайт, и тому подобное. Фактически, от Битрикс оставалась только база данных.
Я обосновывал это для себя оптимизацией. Но настоящая причина вскрылась только спустя время. И она — совсем из другой области.
Обманули
Ненависть рождается из обманутой любви, а любовь — это взгляд с экрана. При выборе системы для проекта, вам, заказчикам, обещают золотые горы, и, как программист, конечно, вы ожидаете прорывной архитектуры, которая подарит вам чистое наслаждение от программирования.
Но чем дальше вы погружаетесь в работу, тем больше разочаровываетесь. А деньги уже заплачены, силы уже вложены. Но только это не рождало бы такой ненависти. С кем не бывает, лоханулся, как все. Но это только начало.
Уже после покупки вас продолжают убеждать, что всё так и должно быть. Ваш стиль программирования — отражение вашего видения мира. Вас призывают его сменить. И вот это уже приводит к столкновению внутри вас.
Вы не можете принять этот стиль, но вам нужно его принять или отказаться от работы. А если вы пытаетесь отстаивать свою точку зрения, неожиданно, вы оказываетесь в меньшинстве, даже если технически вы абсолютно правы.
Обоснование бизнеса для работы с Битрикс
С точки зрения бизнеса, оставить систему в неизменном виде, максимально следовать рекомендациям производителя системы, использовать стандартные решения — это надёжный путь — непрофильная компания доверяется широко известному IT-производителю с огромным парком обслуживания. А на другом конце — доверие собственному наёмному программисту, качество решений которого проверить невозможно, который может уволиться в любой момент. Если сайт тормозит, нужно докупить более мощный сервер: это понятное и простое решение. А оптимизация завязана на решения конкретного программиста. Представляете, вас боятся.
Программисты мыслят парадигмами, менеджеры же мыслят бюджетами. Они общаются с такими же менеджерами из компаний-поставщиков. Они говорят друг с другом на одном языке, а ваших слов они могут просто не понимать, если они не переводятся на деньги.
Внутренний конфликт разработчика при работе с Bitrix
Если посмотреть на проблему с этой стороны, то легко осознать, почему руководители не на нашей стороне. Менеджеры не видят технических тонкостей, они купили систему, и они же платят вам деньги. Для них легко и просто обосновывать затраты директорам и владельцам. Но для программиста всё это провоцирует внутренний психологический конфликт.
Почему техники проигрывают
Но почему годы идут, а Битрикс по-прежнему продаётся? Поражение противников Битрикс рождается из неверной постановки вопроса. Да, технически вы более грамотны, но не вы решаете вопрос о покупке, иначе вы бы сами были менеджерами. А развитие Битрикс обуславливается именно таким мелким противостоянием между менеджментом и техническими специалистами, каждым решением о покупке лицензии.
Вы играете на том поле, на котором вам предлагают играть. Вы говорите об оптимизации — но она неочевидна, и преимущества не перевешивают. Вы говорите об удобстве использования — но вы же не будете делать свою собственную панель управления под один проект? Даже под несколько. Вы говорите о том, что интеграция из коробки — это миф, но, во-первых, у других она не лучше, а во-вторых, ведь вы тогда зачем? И, самое главное, вы говорите об архитектуре — и вас не понимают. Все ваши аргументы находятся в технической области. Но именно вы — технический специалист, и поэтому, это же и есть ваша задача — сделать так, чтобы технически всё работало. Так вам говорят.
Менеджеры сильны в работе словом. К тому же их обычно больше одного. И вам нужны очень сильные аргументы, чтобы переубедить их, даже если с вами будут советоваться. Но в этом споре вы проиграете. Обычно, у программиста на этом этапе будет недостаточно технического, управленческого, и просто жизненного опыта, чтобы вступать в подобные противостояния.
Технические аспекты претензий к системе управления сайтами Битрикс
Аргументы технического плана выглядят несостоятельными, почти на каждый из них можно ответить, а другие вопросы можно просто заболтать, и у стандартного программиста меньше опыта в вербальных противостояниях, чем у менеджера. Обычно к системе предъявляется много частных и мелких претензий, на которые вполне можно ответить при должном уровне подготовки. На все эти мелкие споры и ведутся противники Битрикс, и в этих спорах они проигрывают.
Но попробуем выделить главное.
— В системе отсутствует единая точка входа. Это значит, что точку входа можно поставить где угодно: в запутанной структуре каталогов можно спрятать файл, который авторизует любого как администратора сайта. А сама эта бешеная вложенность поддиректорий как будто специально создана для таких внедрений.
— В системе существуют дублирующие друг друга модули, и ни один из них невозможно настроить под свои собственные нужды без внесения изменений, несмотря на то, что они имеют десятки(!) настроек. И наличие этих настроек сбивает с толку: кажется, что предусмотрены все функции, но на самом деле, это только иллюзия, созданная намеренно.
— Для того, чтобы получить доступ к данным, нужно вызвать много разнообразных функций, тогда как всё это можно уложить в один простой SQL запрос. В системе имеются даже штатные средства для работы с базой данных, и зачем тогда все эти разнообразные модули и функции? Чтобы пускать пыль в глаза, и замять вопрос оптимизации.
— Эту же цель имеет и так называемое трёхуровневое кеширование и прочие подобные функции, которые являются технически совершенно бесполезными, а введены исключительно ради включения загадочного, и потому привлекательного, термина в рекламную кампанию.
И теперь, видя, что столько усилий прилагается именно для того, чтобы представить систему как многофункциональную, современную и универсальную, не должно ли возникнуть у опытных менеджеров сомнение в том, что и все остальные аргументы продавцов того же плана?..
Аргумент «Новая версия»
Но, даже если вдруг Битрикс начнёт проигрывать спор даже в техническом плане, и на этот вопрос заранее готов ответ: новая версия, в которой учтены все недоработки предыдущих версий. Забавно наблюдать этот общий приём, когда циклично, раз в два-три года, одни и те же производители предлагают нам купить новое и хорошее взамен плохого и старого. Которое было новым и хорошим два-три года назад.
Причина ненависти разработчиков к Битрикс
В качестве итога, можно выделить несколько аспектов:
Неважно, какого качества система — главное, что она продаётся, а потом, когда купят, программист разберётся.
— пренебрежение вашей работой
Мало вам просто отдать, нужно потребовать, чтобы вы сделали именно так, как рекомендовано, чтобы вы продолжали поддерживать эту неверную архитектуру.
— психологическое насилие
Но именно сама архитектура и рождает проблемы. Выигрывает именно то, в чём вообще всё неправильно.
— несправедливость
Документация создаёт иллюзию широчайшего разнообразия функциональности каждого модуля за счёт наличия огромного количества настроек. За загадочными и притягательными маркетинговыми названиями псевдо-новых технологий прячутся технически совершенно бесполезные функции
— обманутые ожидания
Технически неправильно, но рыночно — гениально. И вы, на полностью техническом поле, ничего не можете с этим сделать.
— бессилие.
Как видите, чисто технических причин здесь нет. Поэтому и реакция такая эмоциональная.
Способы программирования в системе управления сайтами Битрикс
Мы разобрались, почему Битрикс вызывает ненависть. Тем, кто вынужден дорабатывать эту систему, получил её по наследству, установил из-за решения менеджмента, предоставляется возможность выбора. Вы можете следовать всем рекомендациям разработчика Битрикс.
Действовать по-другому было сложно из-за
— неодобрения сообществом разработчиков и менеджмента
— недостаточности сведений об альтернативных способах работы
Эта статья поможет устранить противоречия первого пункта, по крайней мере, ваши внутренние. А последующие публикации, которые, я надеюсь, лень, занятость, и наличие аудитории таки позволят мне сделать, дадут ответы по второму пункту.
Поиск программиста Битрикс
Посмотрите на рынок битрикс-программистов. Они в среднем дешевле всех. А дешевле — значит, ниже уровнем. Есть специальные ускоренные курсы для Битрикс-разработчиков практически с нуля. Вы хотите, чтобы ваш продукт разрабатывали люди с начальным уровнем программирования? Потом вам за него отвечать, а рядом с вами будет неопытный человек, который не сможет решить задачи, хотя бы немного выходящие за рамки тривиальных.
А если вы хотите защититься с помощью заказа сайта у профильных компаний-разработчиков, то знайте, что и они в массе своей используют труд таких же Битрикс-разработчиков, просто вы за него ещё и переплачиваете фирме-разработчику. В известной фирме-партнёре 1С, официальном дистрибьютере Битрикс, как раз после того, как я проходил в ней же обучение, открылась вакансия разработчика Битрикс. И мне предложили в полтора раза меньшие деньги, чем я имел в тот момент на своём текущем месте работы — и это лидер рынка!
Да, процесс найма такого работника довольно лёгок, так так требования к ним формализованы. Если ваш собственный программист выйдет за рамки требований для Битрикс разработчика, понятно, что в дальнейшем вам нужно будет составить свои требования к программисту, и эта опция лёгкого найма для вас пропадёт.
Но просто замените её другой квалификацией: знание SQL. Этого достаточно, чтобы человек мог разобраться и нормально работать с любой системой, в том числе, и с Битрикс.
Работа напрямую с базой данных Битрикс не даёт обновлять систему
Можете обновлять систему, можете — нет. Если вы не используете модулей, для вас это ничего не изменит. Никаких новых возможностей, которых не может реализовать программист, там не будет. Зато возможные проблемы несовместимости вы получить можете, даже в тех модулях, которые вы никогда не трогали.
Не бойтесь изменений в базе данных: в основных таблицах их не будет, это слишком дорогие изменения для системы с таким багажом обратной совместимости.
Главное, обновление системы — это предлог продать вам так называемую «подписку», без которой обновление будет невозможно.
Рекомендации при работе с системой управления сайтами Битрикс
Невозможно долго идти против себя. Но важно разобраться в причинах, чтобы сделать осознанный выбор, который, как всегда, остаётся за каждым.