В последнее время пришлось столкнуться по работе с Битриксом. Давно известно, что код там ужасен, но более того, этот код располагает писать такое же «спагетти». Если вовремя не опомниться можно наговнокодить совершенно неподдерживаемую портянку.

Однако эту статью я затеял не ради обзора кода внутри известной системы. Я задался другим вопросом — почему же Битрикс смог достичь такой популярности?

Маркетинг

Маркетинг - вот двигатель успеха. У Битрикса всегда была хорошая маркетинговая составляющая, которую они только продолжают развивать.

Позволю себе заметить, что вместо того,чтобы сделать удобным, читаемым и гибким код системы компания занималась совсем другим. Они внедряли модный AJAX еще в бородатой пятой версии. Модный, но в тот момент он получился жутко тормозным и неудобным — плевались ВСЕ!!! Зато можно было говорить: «У нас админка работает на AJAX». И малопонимающий бизнес кричал «круто!!!».

Они делали интеграцию с 1С, за что и поплатились вошли в состав компании.

Они до сих пор поддерживают трупа PHP4, что объясняет, но не оправдывает говнокод.

Они делали интеграцию с Active Directory, они делали версию под MS SQL и всякие другие вещи, которые удобны лишь бизнесу. Вспоминаем? Сайт нужен именно бизнесу, и не важно какой там внутри код, главное что продукт работает. Не важно, что работает криво, у вас есть тех-поддержка, разработчики постоянно фиксят свои же баги, при этом не забывая плодить новые. Важно, что бизнес доволен функционалом, хоть и работающим через раз. Главное чтобы бизнес не терял деньги. СТОП!!!! Главное не дать понять бизнесу - ГДЕ он теряет деньги.

Бизнес теряет деньги?

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

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

При чем здесь Microsoft?

Не подумайте что я меняю тему, нет — просто Microsoft это тоже хороший пример маркетинга.

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

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

Сейчас эта ситуация почти не поправима, т.к. под эти системы нет программного обеспечения. Многие годы ПО разрабатывалось в большинстве случев под Windows. У Unix мало пользователей, потому что мало программного обеспечения. У Unix мало программного обеспечения, потому что мало пользователей. Круг был замкнут, благодаря маркетинговым усилиям Microsoft.

Та же самая история была применена мелкомягкими к Internet Explorer. Вместо того, чтобы делать лучше поддержку мировых стандаров, Microsoft занималась интеграцией Internet Explorer с операционной ситсемой и офисными приложениями, за что и поплатилась некоторым количеством огромных дыр в безопасности. Однако бизнес-пользователи остались довольны, потому Internet Explorer 6 вот уже девятый год является самым популярным браузером на свете. Многие даже не подозревают о существовании альтернатив.

Обратно к нашим баранам

Круг в России давно замкнулся на 1С Предприятие, подвинув в сторону продукты Oracle, Microsoft Axapta, и еще несколько других систем бухгалтерского учета, известных в мире.

Программировать на русском языке и писать код, который сводит с ума нормальных программистов вас научит маркетинг 1С. Вперед, кстати вы будете неплохо зарабатывать этим говнокодом. По мне — уж лучше Java (которую я тоже не люблю, но сейчас не об этом).

Битрикс, в свою очередь, своим прекрасным маркетингом пытается загнать в сети веб-разработчиков.

Как хорошо, казалось бы, знать отличный движок и разрабатывать на его основе отличные сайты. Однако если Вы творец, а не машина, вы быстро понимаете, что ЭТО поддерживать практически невозможно. Вам приходит в голову переписать части системы, а возможно и ее всю. Вам приходит в голову в некоторых разделах сайта не использовать Битрикс, т.к. его гибкость не позволяет почесать даже подбородок в какой-то конкретной ситуации. Вам приходят в голову мысли больше никогда не иметь дело с этой ужасной системой, а сайт сделать на Zend/Symfony/Limb3 .

И это правильные мысли — вы сэкономите время. Эй, БИЗНЕС!!!! Слышишь? Время!!! Да, да... это синоним слова деньги!

Комменты

  • 28.07.2011 17:36:27 Александр Сербул:
    "Давно известно, что код там ужасен, но более того, этот код располагает писать такое же «спагетти». Если вовремя не опомниться можно наговнокодить совершенно неподдерживаемую портянку."

    Если имеются в виду стандартные компоненты, которые работают сверху АПИ ядра и которых несколько сотен - то в серьезных проектах я никогда их не использовал (не люблю логику if/else и тацующий отступами код, в который трудно добавить логику без переотступания). А вот само АПИ в Битрикс - простое, логичное и стройное - никакого ООП, которое и не нужно.

    ZendFramework, Symfony и прочие "академические" вещи, с классической ООПшной архитектурой - да, с ними приятно работать, но они покрывают процентов 5 функционала платформы Битрикс. Но - ZF отлично сочетается, и нередко применяется в сложных проектах на Битриксе (allsoft.ru и т.п.). Более того, у меня был проект где Битрикс работал вместе с 2 серверами приложений JBoss (j2ee - это боль моей души :-)) - http://www.cmd-online.ru.

    Правильность кода и маркетинг. А посмотрите на http://ru.wikipedia.org/wiki/OpenBSD. Люди просто, извините, мастурбируют на качество кода и документацию - и насколько монетизирован их проект, сколько создано рабочих мест? Хотя работать за бесплатно у них я бы согласился - для души. А задачи бизнеса кто-то должен решать - должен.

    Линукс. Имхо линукс с его интенсивным развитием, коммунити и вендорской поддержкой - пример злостного говнокодинга, полезного обществу. А Эндрю Таненбаум со своим minix, критиковавшем Линуса за его говнокодинговое монокернельное ядро где - правильно, продолжает развлекаться со студентами лаборантами. А линукс - работает и решает задачи бизнеса. Вроде успешно, вроде не ломается. Да, конечно можно его переписать правильно, на ООП - но будут ли это делать? Вряд ли.


    ИМХО платформа битрикс просто решает задачи бизнеса. Если бы начали делать сложное АПИ ядра с ООП - не успели бы сделать и 10% функционала. А пойдя по пути юникса, создав независимые простые компоненты и простое функциональное АПИ - добились непрерывного и быстрого развития системы в течение уже 10 лет. Разве не прекрасен баланс здорового консерватизма в отношении кода, модульной архитектуры и динамичного маркетинга?

  • 29.07.2011 12:34:20 Максим Антонов:
    Александр, я с вами согласен по поводу задач бизнеса. Где у нас тот же UMI-CMS?

    Я и говорил про маркетинг и бизнес.

    Только вот в серьезных проектах я бы Битрикс использовать не стал. И мне очень странно, что на этой платформе работают такие монстры, как Связной, Евросеть, Эльдорадо, Софткей и т.п.

Добавить коммент