Как стать автором
Обновить

Комментарии 106

Те же интернет магазины прекрасно делают на фреймворка вроде magento. Никто не говорит, что он идеал или «легкий», но удел битрикса — только лишь СНГ рынок, где зарубежные решения попросту не пустили корни, да и битрикс неоднократно подтверждал негативные отзывы о нем. Ситуация немного выправилась за годы и часть проблем решили, но далеко не все. И я бы 10 раз подумал стоит ли тащить этого монстра к себе ) есть куча альтернативных решений (одно уже назвал), закрывающая те же задачи.
А статья реально похожа на рекламу.


P.s. Я уж не говорю о том, что можно взять чуточку шире и узнать, что веб приложения (вроде интернет магазинов) строят не только на php, но и на других языках — python, java… и совершенно не факт, что решение на битриксе будет самым дешевым

Была как то идея поработать с magento но все разбилось о необходимость регистрироваться на их сайте со сливом данных своего работодателя.

Магенто 2 очень прожорливый. Для него нужен мощный сервак. Для небольших магазинов не стоит на нем что-то делать. Плюс он довольно сложен в разработке. Слишком много файлов.

С каких пор сложность разработки определяется количеством файлов?

С тех самых пор, как началась разработка. Не забываем про принцип KISS.
Пример — в админке нет встроенного чекбокса (хоте какого черта нет такой элементарной вещи), для его добавления нужно 4 файла. Вроде как бы с точки зрения архитектуры верно. Но для какого-то платежного плагина 40 файлов — это уже перебор.
Плагин — это расширение на системой платежей. И если один плагин столько занимает, то страшно подумать сколько файлов по самой системе оплаты. Иначе говоря сколько нужно времени, чтобы разобраться с 10 файлами или сколько нужно времени разобраться с 40.
Грубо говоря на каждый чих плодить новый класс, это плохо. Не забываем, что на каждый класс тратиться загрузка сервера. Вполне может быть и тут кроется что для его запуска нужен мощный сервак. Ну и в разу увеличивается сложность проекта, т.к. для того, чтобы с чем-то разобраться нужно будет перелопатить кучу файлов.
Если вам так интересно, то можете написать плагин для оплаты и оценить его сложность разработки.

Контрпример — засунуть весь проект в один файл.


А боязнь создания новых классов угробила архитектуру стольких проектов, что сложно даже представить. SRP не на пустом месте придуман. Сложность не в количестве классов, а в количестве связей между ними (тут, кстати, у Magento как раз все печально).

При чем тут боязнь? Разве я писала, что должен быть один класс? Всё должно быть в меру. Создание нового класса должно быть оправдано.

Оправдана должна быть архитектура, и тут все вертится вокруг принципов SOLID. Количество классов — это вообще не та метрика, количество классов определяется принципом SRP прежде всего. Файлы же тут вообще ни при чем, какая разница, по какому принципу классы по файлам раскидывать (в PHP один принцип, PSR-4, где-то другой, ну и что?).


Magento страдает от злоупотребления наследованием и god objects, ну а в битриксе вообще архитектуры нет, что вышло то вышло :-)

Количество классов — это вообще не та метрика, количество классов определяется принципом SRP прежде всего. Файлы же тут вообще ни при чем, какая разница, по какому принципу классы по файлам раскидывать (в PHP один принцип, PSR-4, где-то другой, ну и что?).

Ну вообще-то будет кошмаром в одном файле создавать несколько классов. С таким потом очень тяжело работать.

В php, конечно, это выглядит дико, а в каком-нибудь python обычное дело. В нормальной IDE навигация по классам, а не по файлам, какая разница, где там что на диске физически?

Кажется Вы описали Bitrix.
Поверьте мне, не только у Битрикса столько файлов.
Я считаю, через несколько лет «Битрикс» заберет 80–90% рынка, потому что он в первую очередь ориентирован на бизнес. Если посмотреть красочные фото или видео конференций, посвященных «Битриксу», становится ясно, как на них реагируют владельцы предприятий.

Вы путаете причину и следствие. Битрикс продаётся как раз за счёт маркетингового втюхинга

На мой взгляд, пренебрежение к «Битриксу» у программистов PHP появилось по трем причинам...

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


Ну и еще немаловажная причина — за пределами ex-USSR оно вообще никому не сдалось.

Здравствуйте, спасибо, что потратили свое время и пролили свет на Битикс24.
У Битрикс 24 как Вы правильно заметили судьба похожая на 1с.
Сколько я не пытался объяснить ортодоксальным программистом что есть 1с, чем конфигурация отличается от платформы встречал полное непонимание и даже нежелание понимать. Аналогичная реакция кстати и у менеджмента. С той разницей что ортодоксальные программисты говорят что все то же что делает 1с они могут сделать "на Дельфях" а менеджемент утверждает что все то же они могут сделать в Excel.
У меня сейчас аналогичное непонимание что есть Битрикс24.
Я например работал с системой управления разработками на Битрикс24 (аналог нашей jira) и мне это понравилось. Как часто это бывает что вроде все то же самое как в jira и наверное даже очень многого не хватает, но почему то это кажется удобным.
Но вот ни малейшего представления о том как это все устроен и главное как практически начать изучать Битрикс24 если ты не купил Битрикс24 неясно.
Неясно насколько полноценно можо изучить Битрикс24 имея только бесплатныую учетную запись в облачном сервисе. Неясно есть ли документация или ка в 1с документацию можно приобрести только вместе с Битрикс24.
Думаю многие как и я будут признательны если Вы поделитесь этой информацией

Действительно интересные вопросу, причём чётко по делу — минусуют. Ушаты грязи от снобов-недоучек — плюсуют.

Хабропублика в своём репертуаре.
НЛО прилетело и опубликовало эту надпись здесь
Б и Б24 работают на одном фреймворке, по сути это одно и то же под капотом. Буквально одно и то же.

Изучение системы компания-разработчик предлагает с помощью локальной установки триального продукта (доступны все редакции CMS и Б24) и следования официальным учебным курсам. Которых, конечно, будет недостаточно, придется обращаться к партнерским материалам.
Все это есть на сайте разработчика.

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

Какая возмутительная ложь.


Разработчики, которые стояли на том, что программировать на 1С низко и неинтересно, оказались не правы. Нельзя сказать, что они остались не у дел. Они все равно востребованы, но намного меньше. Большинство специалистов все-таки пришло к тому, что надо перепрофилироваться на 1С.

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

Давайте я скажу что-то подобное про тот язык на котором вы пишете и посмотрим на вашу реакцию. Вот именно — наглой тупой лжи не место на Хабре.
Автор статьи конечно любит копировать цитаты из маркетинговых материалов про Битрикс, но это же Neti)

Большинство специалистов все-таки пришло к тому, что надо перепрофилироваться на 1С.

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

НЛО прилетело и опубликовало эту надпись здесь
С гитом интеграции до сих пор нет (да, я знаю про их «хранилище» — пусть оставят себе), отсюда миллиард вытекающих проблем.
НЛО прилетело и опубликовало эту надпись здесь
Ну вот пока не довелось увидеть. Буквально позавчера наблюдал передачу наработок с описание в word файле без указания где и что меняли. На вопрос можно ли посмотреть список коммитов — непонимание, вопрос про комментарии в коде — непонимание, вопрос про прогон на тестовой базе — ужас в глазах.
НЛО прилетело и опубликовало эту надпись здесь
Всмысле не правильные? Да толпы их таких я вот только неделю назад имел разговор с двумя разными 1сниками которые мне вот прям как отче наш твердили что обкатывать интеграцию и обработку данных на проде — в порядке вещей. Один из них из очень крупной компании-клиента, второй из очень крупной компании-франчайзи. Да меня за такой подход выперли бы нахрен уже давно.

ЗЫ раз работает в проде то я просто беру сейчас 1сника за шкварник и прошу ссылку на историю коммитов?
ЗЫЗЫ Вот постоянно сылшу про каких то «правильных 1сников», толкько когда я искал вариант универсальной интеграции моего продукта с кучей конфигураций (потенциально очень много денег) все 1сники разбегались в ужасе как тараканы.
НЛО прилетело и опубликовало эту надпись здесь
А вот обработку данных, я согласен лучше на проде проводить и обкатывать.

Это вы серьезно? А вам прод не жалко? Там вообще люди работают, у них бизнес идет.

НЛО прилетело и опубликовало эту надпись здесь
Окружения должны быть идентичными.

Это если есть такая возможность. Но так, конечно, да, хорошо иметь идентичную копию прода для тестов. Но это не тестирование на проде.


И если есть возможность провести тестирование на проде, когда пользователи не работаю

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

НЛО прилетело и опубликовало эту надпись здесь
Еще раз повторюсь: какие автотесты? У нас есть большая и сложная система потенциально генерирующая огромный объем данных и передающая их куда только не, есть новая интеграция, я желаю чтобы эта связка сначала прогонялась на тестовом окружении и никак иначе.

Коммиты, да проблемно,

Ну вот собственно и все. Вот прибежал 1сник, он сдает то что сделал по просьбе начальства, мне как CTO как это принять? Где он внес изменения?? Как он это сделал? По какой причине он вносил те или иные изменения?
> я желаю чтобы эта связка сначала прогонялась на тестовом окружении и никак иначе.

Для этого достаточно исходного кода ака cf файла. К вам же не первый раз наверное 1Сник прибегает, нужно просто обновить существующую тестовую связку

>> Коммиты, да проблемно,

>Ну вот собственно и все.

Не правда — Коммиты не проблема (все есть в хранилище) — проблема в ветках. Они очень тяжелые и их никто не делает не смотря на очень давно описанную вендором технологию.
Поэтому будет коммит с интеграцией, куча левых, коммит с доработкой интеграции, еще куча левых, коммит приводящий интеграцию к текущему состоянию.
«Где сделал» — видно в коммите
«почему это сделал» — в комментарии к коммиту.
«Что сделал» — покажет сравнение. 1С хранилище в отличие от ГИТа хранит версии и вычисляет дифы, а не наоборот.
«По какой причине» — очевидно «по просьбе начальства» оформленной в соответствии с принятыми на проекте традициями.

Массово "в людях" — нет. Но есть альтернативная "Конфигуратору" IDE EDT, в ней гит (в эклипсовской инкарнации) "из коробки" (что приводит к проблемам стыковки с хранилищем, поэтому я пока на конфигураторе)
1С свою флагманскую ERP разрабатывает уже на EDT.

За что программисты не любят «Битрикс»? Всё очень просто: достаточно зайти на официальный сайт, скачать демо-версию и посмотреть код. Те же стандарты разработки PSR не соблюдаются совершенно — код отвратительного качества. Конечно, программисты не хотят работать с таким «добром», ведь это деградация. После нескольких лет работы с «Битрикс» уже трудно будет трудоустроиться в фирму, где следят за качеством кода. На мой взгляд, это основная причина, почему программисты не любят «Битрикс». И это не только моё мнение.
Судя по динамике последних лет, доли продуктов «1С-Битрикс» продолжат расти


А есть цифры?
Разработчики, которые стояли на том, что программировать на 1С низко и неинтересно, оказались не правы. Нельзя сказать, что они остались не у дел. Они все равно востребованы, но намного меньше. Большинство специалистов все-таки пришло к тому, что надо перепрофилироваться на 1С.

Что-то я не наблюдаю вокруг этого большинства.


Я считаю, через несколько лет «Битрикс» заберет 80–90% рынка

Какого конкретно рынка?

Встроенную синхронизацию с «1С: Управление торговлей», «1С: Бухгалтерия», «1С: Зарплата и управление персоналом».

Эта поделка до полноценной синхронизации не дотягивает.

На мой взгляд, пренебрежение к «Битриксу» у программистов PHP появилось по трем причинам...

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

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

Судя по динамике последних лет, доли продуктов «1С-Битрикс» продолжат расти.

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

А по обмену это да, это как тайные знания и это очень забавно. У меня есть скриптик для обмена через XML (как раз самое частое и дибильное), есть опыт работы через OData и есть несколько баз из которых данные вытаскиваются прям на уровне БД (и иногда даже вставляются и изменяются так же). Но вот нюанс: такое ощущение, как будто это какаято магия, постоянно слышу рассказы о том как это сложно, нереализуемо итд итп

ЗЫ Особенно забавно когда 1сники делают какой нибудь «очень большой отчет» который работает часами, а мы берем и делаем его же прям на БД и время выполнения укладывается в секунду.
Встроенный модуль синхронизации (сталкивался в Управлении торговлей) в 1С убог до безобразия, но есть внешняя обработка (официальная от битрикса), которая уже немного получше. Идеал не достигнут, но жить и работать в небольших задачах реально.
от рекламного посыла ощущение больше, что для битрикса нужны не программисты, а админы. как бы не удивительно, что кодеры идти в такое не хотят.
Видел проект на Symfony, который был переписан битриксоидами.

Я за свою короткую карьеру успел поработать со сложным с точки зрения программиста кодом — весь на конфигах и описанный в виде DSL, но такого Г, написанный бывшими битриксоидами я не видел — просто тонны не понятного кода и не понятных абстракций, не понятно чего делающего. Убежал на второй день работы, очень известный проект.



Кейс 2: В резюме на ранней поре писал в пожеланиях пунктик «не готов работать с Битриксом» — один раз спасло, когда мне решили дать на доработку внутренний проект компании. Посмеялись и вспомнили договоренность на собесе и проект ушел другому — советую взять за основу такой прием.
Работаю в крупной компании, которая начинала с Битрикса, и ушла от него. Причина банальная — дикие тормоза. По мере роста приложения. Когда число клиентов стало исчисляться десятками тысяч — Битрикс лёг. И это всё что надо о нем знать.

Вертикальное масштабирование не помогло?

Что такое — вертикальное масштабирование? Подозреваю, что это покупка более дорогой редакции. Если, да — то нет, не помогло.
Лапшекод не способен быстро работать в принципе

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

Автор статьи живёт в какой-то паралельной вселенной. Как только клиент поставит типовой сайт на битрикс — всё хорошо, но каждый шаг чуть в сторону от коробки — это просто попоболь, когда ты вдруг узнаёшь что там под капотом у этой коробки.


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

Дорабатывал три проекта на битриксе, когда люди уже пришли отчаянные, со словами: ну сделай хоть что-нибудь.
Итак:
1) PSR нет
2) mbstring.func_overload в 2020
3) composer нет
4) куча global'ок
5) поддержки нет (см ниже)
6) документация устарела, непонятно, что сейчас с их D7, вроде бы есть, а вроде бы все на него положили.
7) если в интернет магазине 10 000 товаров и есть кастомные поля, тушите свет. Это все очень сильно тормозит
8) мне непонятно, зачем для обычного CRUD'a нужно кеширование всего и вся
9) самое главное!!! Если у тебя в запросе была ошибка, то вместо Exception тебе будет прямо через echo напечатано DB Error с форматированием.

У меня была проблема с чеками, написал на форум битрикса — тишина, написал на тостер — меня битриксоиды профессионалы мягко «опустили», сказав, что я не разбираюсь, но при этом конечно же не помогли. В итоге проблему решил, читая исходники битрикса. Внутри исходников ад, комментариев нет, без них начинаешь хоть что-то понимать, прочитав блок раза 2-3.

Далее — токсичность сообщества. Куча профессионалов, которые живут в своем мире, при этом раз в год делают набеги на другие сайты, показать, какой битрикс крутой коробочный продукт. Окей, пользуйтесь им, без проблем.

На счет синхронизации с 1С, сейчас любая школьная CMS это позволяет сделать, потому что к тебе приходит бизнес и говорит, хотим интеграцию с 1С, ок, берем любую другую CMS + модуль синхронизации и все.
  1. PSR привезли в новой версии
  2. Избавились в новой версии
  3. Есть, по версии не помню — точно больше года поддерживается
  4. Стоит использовать D7
  5. Тут частично соглашусь
  6. Документации 3-и. D7 и API актуальная, старая не обновляется, но старые методы давно не рекомендуется использовать.
  7. 10 000 товаров, это не так уж и много. Битрикс с ними вполне плавно справляется.
  8. Кэшем можно управлять
  9. Это определенно весело

Что бы два комментария не писать, замечу что статья больше бы подошла vc чем хабару. Куча маркетинга и отсутствие конкретики (Рейтинг за конкретику не считаю, тут своя специфика). Что касается Битрикса, куча говнокода безусловно осталось, но при этом и позитивных изменений тоже много (Правда для тех кто работает с фреймворками эти изменения смех, но для Битрикса большой шаг). Можно ли использовать Битрикс? Да безусловно, но нужно относиться как к любому другому инструменту — знать когда и где можно применить.

Чтобы привезти PSR потребуется переписать весь код, вряд ли это можно сделать.

Давайте конкретизируем. Вам нужно поддержка всех PSR (на сколько помню их около 12-ти актуальных) или мы говорим только о PSR-4 + PSR-12?

В какой вреси избавились от mbstring.func_overload?

Точно сейчас не назову, в последней презентации (март — апрель) было. Самое существенное изменение даже не mbstring, а отказ от urlrewtite и новый нормальный роутер (за основу взять Лары)

Ссылка у презентацию есть?

Похоже речь про https://youtu.be/1_xYUQzQHj8?t=3150 (ссылка на таймкод, но смотреть стоит полностью).
По этому вебинару похоже, что нашли адекватных разработчиков и спустя 10 лет все таки начали двигаться в правильном направлении, что в двойне приятно, в этом вебинаре нет тех клоунов которые обычно презентуют новую версию.

Посмотрел в веббинаре (6 апреля) про роутинг. Глянул в коде Битрикс Управление Сайтом (БУС) 20.0.650 от 20.03.2020 в нем еще нет. В презентации статус был внедрение в облачный Битрикс24. Сейчас уже сентябрь. И где же оно?

Не знаю как у них это устроено, но код "облачного Битрикс24" всем не раздают, так что может и внедрили, только когда все дойдет до остальных — большой вопрос.


Минимальная ориентированность на разработчиков, десять лет кормили завтраками про d7 и, возможно, только сейчас сделали новое апи для контента.


Со страницы скачивания дистрибутива убрали указание версии, случайно никто не знает где смотреть версию не устанавливая?

Вы посмотрели вебинары от 6 апреля, при этом смотрите обновления в БУС от марта? Включите бетку Б24, там вроде уже должно быть. У Битрикса к сожалению совсем не прозрачный выход обновлений и редко когда в срок.

Неделю назад вышел апдейт. Всё, больше функция не поддерживается и должна быть отключена. Последняя версия VM без нее
1. Нет, не подвезли
3. Если считать что это {
"require-dev": {
"symfony/console": "4.1.*"
}
}
— поддерживается, то хз. Так уже больше года. И да, это весь composer.json файл от битрикса
4. Ну да, синглтоны прям порешали все проблемы. Плюс в самом ядре часть использует d7 синглтоны, а часть старые глобалки. Замечательно правда?
6. Документация в каждой сущности с описанием getList и больше ничего — это не документация
Встроенные синхронизации никогда не работают из коробки, а системы онлайн-оплаты легко прикручиваются и без битрикса.
Работают, umi.cms стартует из коробки, доп. реквизиты, цены, остатки, фото, заказы итд. все синхронизируется. Обработка стандартная в УТ11. Только скидки пришлось допилить. И ещё с конвертацией типов сложности, доп. реквизиты только строковые нормально переносит.
Я выскажу свой опыт только со стороны админов:
1. Натурально десятки тысяч файлов в самой цмске. Тысячи файлов просто нулевого размера. Файловый бэкап легкий такой ад, если не подготовиться к этому заранее.
2. Любая попытка решить проблемы: шлют к авторизованному партнеру, который обычно тоже ничего не знает, хвалит какой битрикс замечательный и месяцами не может решить проблемы.
3. Полгода с авторизованным партнером играли в мяч, потому что сайт клиента регулярно ловил малварю с криптомайнером. Партнер утверждал, что наш хостинг дырявый и этот сайт из-за этого регулярно ломают. При том, что там же лежали другие сайты на битрике с последней мажорной версией вообще не замеченные в взломах и обслуживаемые другой вебстудией. В итоге взяли за жабры клиента что бы он продлил техподдержку и обновил битрикс до последней мажорной версии. Проблема мгновенно исчезла.
4. Сказка по интеграции Битрикс 24 с телефонией просто бесконечна. Официальная техподдержка — поголовно лесные рогатые животные. Зачем продавать коробочное онпрем решение, внезапно, работающее исключительно через их облако непонятно.
5. Дикий ад с звонками через браузер, когда что то может внезапно отвалиться просто потому что свет Солнца прошел через кислотные облака Венеры и через окно попал на ноут менеджера. Иногда разное поведение в хроме, опере и файрфоксе в плане звонков. То слышно клиента, но клиент не слышит менеджера. То звонка не было, но появляются пропущенные. На два десятка менеджеров регулярные проблемы каждые три четыре дня.

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

Как раз понятно — continuous money flow

Жизнь слишком коротка, чтобы тратить ее на такие вонючие помои, как Битрикс.

Для начала бизнеса Битрикс довольно неплох. Плюсы интеграция с 1С (более менее, но есть) и очень дружелюбный интерфейс. Позволяет много чего делать через админку.
Не нужно равнять CMS с фреймворками. Это вы ещё не видели админки интернет магазинов на Modx и WordPress. И код у WordPress тоже не айс.
Вы забываете одну вещь для чего нужны CMS. Для того, чтобы пользователь сам мог много чего менять без программиста. И они с этим справляются. А вот дальше, когда проект взлетел и пошёл доход, то можно выделять деньги на разработку на фреймворке. Т.к. на нём изначально разработка стоит дороже.
Хотя я такой говнокод на фреймворке видела, что код Битрикса покажется раем.

Золотые слова.

Понятное дело, я сам для контентной части использую Вордпресс, но дописать туда хоть строчку кода — нет уж: либо сторонние плагины (с ревью на всякие глупости типа sql injection), либо аутсорс (с тем же код-ревью на банальные глупости), а качество кода не имеет особого значения.


Как верно заметил товарищ выше, жизнь слишком коротка, чтобы тратить ее как на всякий помойный код, так и на примитивные задачи типа CMS-ок.

Битрикс это про маркетинг и "наверное должен нормально работать с 1С", а никак не про технологии и удобства для разработчиков.

Вот только неделю назад завершил два проекта, у заказчика были два сайта на Битриксе. И это был ад. Миллион мелких файлов, которые собираются потом в один непонятным образом, и фиг поймёшь, что откуда взялось.


Просто файловая структура:


/catalog
/bitrix/components/bitrix/catalog
/bitrix/components/bitrix/catalog/templates/.default/bitrix/catalog.compare.list/.default
/bitrix/components/bitrix/catalog/templates/.default/bitrix/catalog.section.list/.default/template.php
/bitrix/templates/general/components/bitrix/catalog/catalog/bitrix/catalog.element/.default/template.php
/bitrix/templates/.default/components/bitrix/catalog/detail_catalog/bitrix/catalog.element/.default/template.php

… и так далее. По 10 папок на каждом уровне, в каждой могут лежать свои шаблоны, скрипты и css-ки. Вот скажите, как вообще навскидку понять, в каком из последних трёх каталогов лежит нужный файл?!


У меня одно слово — издевательство. Вменяемые люди так с разработчиками не поступают. У человека должен быть Битрикс головного мозга, чтобы слово bitrix встречалось на пути к файлу три раза!!!


У каждого компонента ещё и шаблон вперемешку с php. Каждый компонент подключается с кучей опций, и там вперемешку на одном уровне будут идти и настройки кеша, и текст сообщения о пустой корзине. И ещё там находятся inline-css и inline-js!


Как вообще с этим работать?! Никогда не знаешь, какой кусок где подключится, где не подключится. Да чтоб разработчики этой архитектуры питались одной длинной лапшёй, которая у них вместо кода!!!


Естественно, всё это зверски тупит, если не включить "автокеширование". Но оно тоже написано криво и не очень хорошо работает.


В общем, исправляешь где-то кусочек и молишься, чтобы это всё не рухнуло. Ощущения от работы с этим всем — омерзительные.


P.S.: компонент Блог: 34 (!!!) папки на уровне /bitrix/components/bitrix/.
И в каждом ещё лапша.


А ещё есть сторонние компоненты...


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


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


Нет в одном фреймворке, что в самописных, что в известных, даже в древнейших Drupal 5 или Joomla 2, такого бардака не было. Битрикс изначально кривой и неподдерживаемый, и с годами только хуже.

В свое время писала интеграции платежной системы со всевозможными CMS. Так вот по количеству файлов у меня в лидерах оказался Magento 2. Если для битрикса всего 1 файл, для других бывало 10, то для Magento 2 мне нужно было 40 файлов. Вот где ад. И как бы там правильная разработка. Но идет явное переусложнение.
P.S. Я не говорю, что Битрикс хорош, но есть и другие CMS, с не меньшим количеством файлов.
судя по путям, которые вы написали, вы влезли в ядро и при ближайшем обновлении все ваши труды затрутся.

логика довольно простая:
в папке ядра, т.е. в папке /bitrix/ лежат системные компоненты и шаблоны к ним, чтоб 100% что-то при вызове стандартных компонентов показывалсь в более-менее адекватном виде. Эта папка при обновлении всегда перезаписывается, потому там никакой вменяемый разраб не вносит изменения.

Пользовательские шаблоны лежат либо в папке /bitrix/templates/ — устаревший способ размещать кастомные шаблоны

Либо в папке /local/templates/ или /local/components/ — как рекомендовано разработчиками системы

При вызове компонента битиркс начинает каскадно искать шаблон или компонент в порядке /local/templates/ -> /bitrix/templates/ -> /bitrix/components/component_name/templates/

Также надо помнить про пространства имен, ведь так много слова «битрикс» не потому, что оно нравится, а потому что ограничивает пространство имен шаблонов и компонентов.

Я совершенно не в восторге от битрикса как такового, но еще больше не в восторге от ситуации, когда приходится собирать части системы в ядре после гуру-программирования, который битиркс первый раз в жизни увидел.
мне сайт достался после *нескольких* битрикс-гуру, но такого адского дерева каталогов я не встречал больше ни в одной древней системе (и тем более — в современной). Как-то обходятся с пространством имён шаблонов и компонентов без этой лапши.
НЛО прилетело и опубликовало эту надпись здесь

Тут вопрос к разработчикам сайта — просто забыли отключить дебаг в настройках. Или они на столько великие что дебажат на проде:)

НЛО прилетело и опубликовало эту надпись здесь

Такие косяки я честно говоря видел во всех популярных CMS. Называется кривые руки :) Тут врядли ошибка самой системы.

НЛО прилетело и опубликовало эту надпись здесь

В этом смысле конечно да, но на мой взгляд такие претензии можно предьявить почти к любой крупной CMS. Там всегда есть большой оверхед в коде и странные решения которые заточены под "удобное управление пользователем". Если говорить конкретно за Битрикс — то там много всего веселого, но при этом он не плохой инструмент под определенные задачи и запросы.

Хорошая попытка, но нет, не надо...

Битрикс решает проблему импортозамещения, как минимум. Не на UMI же делать сайты государственных органов. С точки зрения разработки у него есть проблемы, но с бизнесовой точки зрения это хороший продукт, особенно в связке с б24 и 1с.
Битрикс разработчиков действительно не хватает, а хороших катастрофически.
Хоть статья и похожа на рекламу, но не думаю, что таковой является.

Что за «проблема импортозамещения»? В чем сама «проблемность»?

Почему не OpenSource продукт выбрать, а частную компанию, одну при том? Open Source максимально прозрачен…
Это плевок и в сторону бизнес-инициативы, и в сторону программистов, которые несут вклад обществу (а государство — общество) и в сторону безопасности тех, чьи данные будут храниться
Встроенную синхронизацию с «1С: Управление торговлей»,


Но ведь это миф.

Она есть номинально, и даже что-то умеет) Запустить её, а тем более что-то добавить, это дело совсем не одного вечера) Ученым только предстоит узнать всю степень говнистости обмена 1С-Битрикс через поставляемый битриксом механизм)
Может запилить статью на эту тему...

Ищут и платят не потому что востребовано, а потому что нормальные программисты работать на этом не хотят, и потому сложно найти человека.

Если завтра маркетологи компании Govno Enc распиарят кушать какашки ложкой, тоже hh будет заполнен поиском таких людей.

Лютый трэш в комментариях :)


Особенно понравилась байка "Те кто начал "программировать" в Битрикс уже никогда в жизни ничего кроме "говнокода" не напишут" !


Ну если у вас низкая квалификация и абсолютно неустойчивая психика то наверное да — Битрикс может "сожрать" остатки вашего мозга :)


По сути:


  1. Есть "говнокод" в Битрикс? — конечно есть, но нормальный специалист обработав всё напильником вполне может сделать на Битрикс хороший и быстрый проект (да разумеется тоже хороший и быстрый можно сделать и на других cms и других фреймворках — и может быть и за меньший срок и может быть дешевле — но можно и на Битрикс :) )
  2. Конечно если вы загружены на 100% хорошей и высокооплачиваемой работой которая вам нравится то изучать "программирование" в Битрикс вам совершенно ненужно. Но если лишнее время есть, знания и мозги есть то вполне нормально иметь такую подработку — всё копеечка немалая в семью! Брезгливо отворачиваться это удел недалёких снобов !

4 года назад перевели свой интернет магазин с самописной erp на 1с УТ и битрикс. Потом между ними пришлось добавить retailCRM.


Платим примерно по 2-4 млн в год за поддержку и реализацию всяких плюшек.
В битрикс стандартно 1-2 раз в мес что-то отваливается, порой так что пол дня люди не могут оформить заказы.


При этом многие важные задачи делаем в гугл таблицах ( финансовое планирование и тд )


За это время я полностью разочаровался в этих продуктах.


  • битрикс прожорлив и ему нужно не плохое железо
  • битриксу нужна постоянная поддержка так как регулярно, что то ломается
  • 1с нужен хороший сервак
  • 1с сам по себе не ломается, но надо много чего дорабатывать, при этом 80% накрученного функционала в УТ совершенно не используется
  • 1с интерфейс просто провал
  • 1с не удобно пользоваться через веб интерфейс

Из всего этого набора только retailCrm работает стабильно и не вызывает ни каких проблем у сотрудников. Выходит для нас 30-40 тыс в мес.


В итоге решили снова переходить на самописную систему. На разработку потратим также 3 млн в первый год, хетцнеровского облака за 50 евро/мес хватит с гигантским запасом.
Реализуем там именно то, что будет нужно нам.
И конечно делая модули для боксберри, сдека и других, сразу нормально реализуем обработку ошибок и добьемся их отказоустойчивости.


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


Мало у бизнесу же нужно, что бы все делалось как можно проще, быстрее и желательно одной кнопкой)

Вам очень зайдет подход https://vas3k.ru/blog/nocode/
На первых порах, когда проект незрелый — накладные расходы большие, но можно быстро стартануть и не париться о разработке.
Когда же реально будет постоянно много клиентов — можно начать переносить nocode решения на какие-нибудь решения вроде докеров или фреймворков со своей разработкой.

Ну вот. Подзавис теперь в airtable… руки теперь чешутся)
Сам подумал над своим постом и выходит, что да, надо изучать битрикс, после того как бизнес перешел на 1с+битрикс, а рано или поздно это сделают многие, он становится заложником своего решения и начинает не ксило тратить деньги на битрикс программеров)
Именно так. Причём, в статье верно отмечен ключевой факт: то, что называют «битрикс-прогами» суть кони педальные. Нужны грамотные консультанты, чётко понимающие что творят. Их уже дефицит и цены на них только растут.

Ну хз.
С одной стороны я согласен, что bitrix это деградация человека как специалиста. Все ужасы, которые про него рассказывают — это правда.
С другой стороны bitrix — отличная кормушка для новичков. Потратив 20$ и пару недель на сертификат, можно спокойно устроится в большинство контор с улицы и с нулевым опытом/знаниями. Где ещё такое возможно?


Что хорошо для новичков — руководство уже приучено страдать, знает на своем опыте, что bitrix это сложно и нестабильно, так что проблем с объяснением, почему не удалось уложиться в срок, не будет. Работодатель сам регулярно страдает от проблем, возникаемых на ровном месте, так что при разработке таких проблем будет ещё больше, и это вполне естественно.
Что ещё вкусно: рынок bitrix-разработчиков по большей части наполнен студентами и непрофессионалами, так что угрозы про забор не работают: за забором действительно стоят толпы битриксоидов, но 95/100 из них скорее диверсанты, чем разработчики, не могут ничего больше, чем поправить пару шаблонов, и способны крупно подставить, что и происходит в итоге. Так что с поиском кадров у руководства всегда большие проблемы, и любой подающий надежды новичок будет как сыр в масле.
Текучка среди битриксоидов огромная — место можно найти всегда и везде.
По зарплате — в регионах можно начать с 40-50, в столицах с 80-100. Через полгода можно просить повышение в 1.5 раза до средней по рынку.


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


По-моему как трамплин вполне хорошие условия.
Единственный момент — нельзя устраиваться в мелкие конторы, там и ЗП совсем смешные, и полная стагнация, сайты без изменений годами висят, всё равно что сторожем идти, тупо нечего делать. Хотя если совсем кушать нечего, может это и не плохо.
В крупных стоит работать только с теми, кто уже эволюционировал до git/gitlab, composer, освоил системы контроля задач, и соответственно имеет хоть какую-то организованную ИТ-службу с поставленными процессами, не сидит на php5, и не пользуется взломанным bitrix(имеет обновления хотя бы раз в год), потому что legacy+bitrix — это ад, который трудно себе представить.
И даже в крупных не стоит задерживаться больше года, т.к. опыт с bitrix действительно нерелевантный, и нигде больше не потребуется, и уж тем более не будет засчитан за опыт вообще. Освоил php, html/js/css, работу с сервером, учи фреймворки в свободное время, и уходи на нормальную зарплату и нормальные задачи.
Из минусов — придется скрывать, с чего начинал, т.к. много где bitrix в резюме это гарантированный отказ, принципиально, т.к. никому не хочется за свои деньги отсеивать зерна от мусора после такого опыта. Портфолио, соответственно, тоже пополнить будет нечем, кроме pet-проектов на фреймворках.


Так что, если рассматривать bitrix исключительно как кормушку, для чего он и создавался, то не всё так плохо. Но и не очень хорошо, конечно.


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


Проблема с бизнесом в том, что мало кто потом готов вложиться на переезд на что-то другое. С точки зрения бизнеса, переезд на фреймворк — это тонны денег за то, чтобы получить то, что уже и так работает.
Любые проблемы откладываются на потом: тормозит — купим кластер, cdn, не хватает функционала — закостылим поверх bitrix. Доходит до того, что от bitrix из родного остаётся модифицированная админка, crud и autoloader.


Это своеобразная синяя пилюля для бизнеса: попробовав раз, слезть очень сложно.

Про рефакторинг — очень смешно.
То есть там всё-таки говнокод :)

Спасибо за статью.
Теперь буду отправлять заказчиков, которые вдруг захотят битрикс, прямо на эту страницу. Но в комментарии.
Спасибо за статью. Интересно, но не убедительно. Много воды, мало фактов.
Вот конкретные факты почему разработчики не любят Битрикс:
— Кодовая база от 2000-х годов, старое ядро абсолютно не поддается чтению и пониманию: классы длиной по несколько тысяч строк, методы по несколько сотен строк с большим количеством условий. Код не читается сверху вниз, вместо этого нужно скакать между условиями или методами. Даже в новом ядре D7 картина не сильно улучшилась. Зачастую высокоуровневая логика перемешана с низкоуровневой.
— Архитектура продукта не позволяет легко писать тестируемый код: ядро продукта напичкано статическими методами и глобальными переменными, которые нельзя просто так протестировать.
— Из коробки отсутствуют миграции.
— На официальном сайте битрикса пару лет назад видел обучающее видео где мужик с серьгой в ухе писал код в Notepad++(!) и через Total commander (!!) выкладывал его на сервер по ftp (!!!!).
— С точки зрения инфраструктуры проекта Битрик морально устарел. На дворе 2020 год: докер, оркестрация, разделение на frontend и backend. Битрикс в этом плане отстает лет на 8. Есть как юридические, так и технические сложности с тем, чтобы разместить его в облаке.
— Отсутствие согласованности с международными стандартами PSR. Ну камон, это же основа основ. Многие Битрикс-разработчики, которых я собеседовал, даже не слышали про PSR. Спасибо хоть composer завезли в ядро пару лет назад.

Все указанные пункты не являются решающими. В моей практике были очень качечственно написанные проекты на Битрикс и тотально отвратительные проекты написанные на Ларавель, хотя в основном конечно наоборот. Писать качественный код на Битриксе можно. Не в целях рекламы, а просто чтобы поделиться опытом размещу ссылку на канал в ютубе, где рассказывается как писать нормальный код на Битриксе — www.youtube.com/channel/UCA9UsMoBpFkUNJE5XFs-Y3w

Также размещу ссылку на библиотеку на Github, которая завозит в Битрикс некоторые ларавелевские приблуды — DI контейнер, фасады, коллекции, сервис провайдеры и тд.

github.com/PrettyBx/prettybxsupport
У Битрикса отличная, реально очень удобная для пользователей админка. Этим он привлекает львиную долю клиентов. И подавляющее большинство клиентов с ходу говорят «мы хотим Битрикс!». Не отказывать же им. Поэтому мы пользуемся следующим решением:
На фронте сайта React/NodeJS (либо с SSR либо без, в зависимости от конкретных требований), на стороны Битрикса делается JSON REST API. который отдает React-овому фронту все необходимые данные. В зависимости от объёма и сложность взаимосвязей между администрируемыми данными используем либо стандартные инфоблоки (но это ад в плане генерирумых модулем инфоблоков для выборки данных SQL запросов) либо собственные модули на платформе D7 с Namespace и ORM и прочими кошерными вещами. В таком виде от Битрикса остаётся только привычный пользователям интерфейс админки и куча неиспользуемого кода.
Реально печалит только необходимость делать mbstring.func_overload, вероятно это будет длиться ещё долго.

У битрикса настолько дружелюбная админка, что большинство клиентов в нее сами не заходят, если нет специально обученного человека, заносить современный контент с кучей визуальных блоков через инфоблоки сущий ад. Если делать свои модули, то неужели проще сделать хороший интерфейс на D7, а не на любом адекватном фреймворке(для оформления есть готовые темы)?

Пользуемся Битрикс 24 и офигеваем от той наглости, которую компания себе позволяет.
Я все понимаю, бесплатный тариф или бесплатный сервис, в котором тебе вываливаеют модальные окна с рекламой, как говориться не платишь за пользование, смотри рекламу и мы на ней заработаем. Но компания 1с с ее Битрикс 24 пошла дальше, они мало того что денег берут за пользование системой, еще и заставляют тебя смотреть их рекламу.
Техподдержка на просьбу убрать это безобразие, разводит руками.
Российский бизнес, он да, такой, тупой и беспощадный. Уже ищем куда уйти от них и не потому что чтото не устраивает в продукте, с этим можно было еще как то мириться, но при таком отошении к клиенту, преспективы не радуют, поэтмоу действуя на опережение, будем менять.
Знаю что это полный бред, даже не являясь разработчиком.
Потребители видят, что запустить интернет-магазин или корпоративный портал, интегрированный с информационной системой предприятия, на «Битриксе» легко и недорого. Сделать то же самое на OpenCart или WordPress дольше и дороже. Разрабатывать подобное решение на фреймворках Laravel, Symfony или Yii2 более трудозатратно.


Для популярных CMS систем все интеграции уже сделаны модулями
Модуль Laravel + Альфабанк писал разработчик 2 часа. Больше времени ждали обратной связи от банка.

Кастомные интеграции проекта на битрикс с другой системой будут в РАЗЫ затратнее, потому что скорее всего к тебе прилетит аспро+кастыли.

Причем тут альфабанк? это платежный модуль, который естественно давно написан любым банком, который представляет оплату картами в сети. И к битриксу эти странички от банков так же быстро подключаются.


ИС предприятия это что-то с заказами и остатками товаров. В пределе — с карточками номенклатуры, включая описание и картинки. Но картинки с описаниями можно и прямо в интернет магазине заводить.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории