Минусы Битрикса, или Битрикс глазами программиста

    Beats By Bitrix В русскоязычном сегменте Интернета существует такой интересный феномен, как Битрикс.

    Для обывателя — это такая серьезная система, «продукт», на котором нужно разрабатывать серьезные проекты: корпоративные порталы, интернет магазины и даже CRM системы. Все очень серьезно, почти как опыты нацистов над инопланетянами (на канале Рен-тв сразу после рекламы).

    Для программиста, который прочитал хоть одну книгу про программирование, Битрикс — это так называемый «плохокод», просто-напросто огромное количество PHP файлов, написанных в разном стиле, которые подключаются «инклудом» и что-то там выводят.

    Эта статья для обывателя (потребителя). Как правило, такой обыватель, прежде чем сделать выбор CMS, читает статьи под названием «плюсы и минусы Битрикса», которые пишут люди, далекие от программирования. Данная статья написана программистом, потому плюсов тут быть не может.

    Итак, минусы:

    1. Архитектура


    Я испытываю чувство унижения, чувство несправедливости и обмана, когда снова и снова приходится делать какие-то доработки Битрикс сайта.

    Дело в том, что умные люди со всего мира пытаются упорядочить, систематизировать и усовершенствовать архитектурные решения в программировании. Из-под пера лучших программистов рождаются «паттерны»: это некие чертежи и схемы участков больших систем, не привязанные к конкретному языку программирования. Это очень ценная информация, опыт предков, данный молодым программистам, чтобы они не теряли время на решение возникающих проблем архитектуры (то самое чувство, когда хочется взять и написать все с нуля).

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

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

    2. Код


    Это просто унизительно, продавать за деньги систему, в которой HTML код перемешан с JS, PHP и CSS. Ниже я приведу функцию «продукта». Чтобы ее поняли и люди, далекие от программирования, еще ниже будет пояснение. Эта функция — метод класса (!!!) ядра (!!!) Битрикса, который вызывается, как статический (!!!) и ему передается 21 аргумент по ссылке (!!!).

    	function PrepareGetList(
    		&$arIblockElementFields,
    		&$arJoinProps,
    		&$bOnlyCount,
    		&$bDistinct,
    
    		&$arSelectFields,
    		&$sSelect,
    		&$arAddSelectFields,
    
    		&$arFilter,
    		&$sWhere,
    		&$sSectionWhere,
    		&$arAddWhereFields,
    
    		&$arGroupBy,
    		&$sGroupBy,
    
    		&$arOrder,
    		&$arSqlOrder,
    		&$arAddOrderByFields,
    
    		&$arIBlockFilter,
    		&$arIBlockMultProps,
    		&$arIBlockConvProps,
    		&$arIBlockAllProps,
    		&$arIBlockNumProps,
    		&$arIBlockLongProps
    		)
    	{
    


    (пересчитал еще раз — 22, по штуке на каждого нового программиста, который дописывал этот метод)

    Чем это плохо? Что чувствует программист, видя это? Объясню: вот приходите вы в банк, платите 200 рублей, чтобы вам заполнили платежное поручение (ведь вы занятой человек, у вас нет времени). Вы отдаете деньги, но эти бюрократы заявляют, что чтобы воспользоваться любой услугой банка, в том числе «заполнение поручения», вам нужно заполнить анкету: ИНН, номер паспорта и прочие многоциферные штуки. У вас возникает недоумение: но я же заплатил деньги, чтобы мне было комфортно и удобно, чтобы ничего не надо было заполнять? Но ведь у банка напротив вообще не нужно заполнять никаких поручений, можно просто бесплатно ввести один 4-значный код для проведения платежа!

    Банком напротив являются бесплатные фреймворки, а вашим банком — расхваливаемый маркетологами платный Битрикс.

    Вы не найдете ни одного программиста, который бы перешел с фреймворков на Битрикс.

    3. Обман


    Не хотелось бы писать тут слишком много. Скажу кратко: если вы выбрали 1С Битрикс, чтобы его просто так взять и связать с 1С своего предприятия стандартным модулем — у вас ничего не получится. И много чего другого у вас не получится просто взять и сделать стандартным модулем. У вас все получится, только если вы ничего не будете менять в скачанном архиве, состоящем из тысяч каких-то PHP файлов. Все доработки — это боль, тлен и тысячи трудочасов программиста, который знает программирование на уровне языка разметки и написания сценариев, а не архитектуры.

    Заключение


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

    Чтобы статья была менее провокационной, скажу также, что современным бесплатным фреймворкам наоборот, не хватает маркетологов: их продукты имеют высокий порог вхождения и доступны только узкой группе лиц, они никогда не станут народными, как Битрикс.
    Метки:
    Поделиться публикацией
    Комментарии 510
    • +28
      Хорошая критика, хоть и видно что наболело. Я бы еще с удовольствием почитал статью «Битрикс глазами системного администратора» или DevOps'а, в том же ключе и стиле изложения.
      • +55
        лучше не надо, если глазами программиста получилось без мата, то глазами сисадмина без мата уже не получится.
        • +1
          Да ладно, у меня один плейбук виртуалку под битрикс настраивает, написал за полдня. Единственное что, бесконечная рекурсия стека — это сразу идите лесом.
          Ну и переход на ssd под битриксом решает почти 90% проблем с ним с т.з. администрирования.
          • +1
            Для этого разработали bitrix_env при помощи которого можно очень быстро все развернуть. Разворачивал битрикс и на виртуалках и на дедиках и на шаред-хостингах. В основном все заводится сразу + есть инструмент для самодиагностики. Остается только подкрутить некоторые параметры для повышения производительности CMS.
            Большинство тормозов в тормозном Битрикс-сайте обычно приходят со сторонними разработчиками =)
        • –17
          Очередной холивар, в котором комментов раз в 20 больше, чем сама статья?
          • +68
            А кто в здравом уме будет спорить с ним, что битрикс — это дерьмо, непригодное к доработке и поддержке?
            Не будет холивара.
            • +2
              Наверно, лучше было бы написать: «Очередной пост...».
              P.S. хотел сделать акцент на количестве постов, а не на самом сраче.
            • –22
              Хочется отметить, что с точки зрения практически международной компании — все туташние комментаторы в т.ч и я обычные лузеры))
              Здесь почти не будет комментаторов с вебстудий, делающих на битриксе хорошие деньги — ну просто незачем. Зачем сотрясать воздух.
              • +6
                Хорошие деньги на Битриксе делает только 1С
                • НЛО прилетело и опубликовало эту надпись здесь
                  • 0
                    Это не просто две большие разницы, это две разные компании, которые существует каждая сама по себе.
                  • +1
                    А ничего, что только верстка (если заранее говорят что будет битрикс) стартует от 20 000 р.?
                    Программирование (натяжка) тоже не ниже этой суммы
                    • 0
                      А какая связь между версткой и битриксом? Битрикс не накладывает никаких ограничений на верстку вообще. Она должна быть просто качественная и тогда редактирование "над сайтом" будет так же корректно отрабатывать. Никто никогда не тестирует верстку именно под битрикс.
                      • 0
                        факт остается фактом, если звучит слово "битрикс" — ценник умножается, виноваты те же маркетологи
                        • 0
                          Ну видимо вы столкнулись с одной или парой таких "студий" или фрилансеров. Я такой статистикой не обладаю. К тому же, при чем тут маркетологи: тоже не понятно.
                          Может владельцы студий этих думают, что люди, хотящие битрикс обладают большим количеством денег?
                      • 0
                        А ничего что день работы верстальщика/программиста в нормальной студии стартует от этой суммы?:) Я имею в виду не то, что платят верстальщику, а то что платит клиент студии.
                        • 0
                          тихо-тихо! Давайте откроем холивар в какой-то другой теме в следующий раз, я сам фрилансер, часто спрашиваю на какую сумму люди рассчитывают. По статистике, если выбрали битрикс — готовы вливать еще от 50к, это не из потолка
                          ЗЫ: за битрикс проекты берусь нехотя и редко, зачастую из-за хорошего куска пирога, который часто стает поперек горла из-за "до безобразия волшебной" CMS
                    • +4
                      Делать деньги и делать качественный продукт это частично совпадающие множества...
                      • +1
                        я до сих пор не вижу защитников хотя их они понимают, что их могут слить, потому нормального разговора увы… не получим.
                      • +1
                        Привет. Работал в Qsoft — битрикс унылая… ну дальше ты понял.
                        • –1
                          Так. Отметился) Давай следующего)
                      • +7
                        Вы не поверите!
                        Статья — 1 штука.
                        Комментариев (на данный момент) — 73 штуки!
                        Комментариев в 73 раза больше! А то ли ещё будет...
                        • +1
                          Тут видимо намек на то что статья сразу заканчивается не успев толком начаться. Я уже устроился поудобнее визуально оценив размер портянки, а оказалось что большая часть контента это комменты.
                          Поставил минус посту чисто потому что он очень короткий и никак не тянет на статью.
                      • +6
                        У меня был опыт выгрузки каталога продукции из 1С в 1С-Битрикс и Joomla. На тот момент, я долго думал стоит ли ввязываться в эту авантюру, ведь опыта с 1С у меня совсем не было. В итоге, интеграция с Joomla была готова через пару дней чего я не могу сказать о 1С-Битриксе...
                        • 0
                          Делали интеграцию 2 раза, проблем не испытали ни одного раза
                          • 0
                            Проблемы в высоком уровне вхождения и понимания этой системы (чем-то напомнило TYPO3).
                            В нашем случае, у клиента была лицензия на версию продукта, который не умел интегрироваться с 1С.
                            Прошло уже лет 7, возможно что-то изменилось.
                            • 0
                              Может быть стоило просто докупить соответствующий модуль?
                          • +2
                            Joomla и выгрузка из 1C? О боже...
                            • 0
                              Joomla один из самых популярных движков. Клиенты его любят, а откуда будет выгрузка каталога значения не имеет.
                              • +1
                                Битрикс и Joomla — аксиома Эскобара
                          • –10
                            Крик души, как и в случае с оперой? Я одного не понимаю, ну не нравится Вам Битрикс, зачем с ним работать, или деньги не пахнут? Так если деньги не пахнут, то смысл кричать о том, как все плохо?
                            По своему опыту проблему интеграции 1с с Битриксом встречал только в случае:

                            У клиента извращеный метод учета в УТ или УПП.
                            Изначально 1с не было, и надо было сначала номенклатуру перенести с сайта в 1с.
                            • +15
                              Приходится писать и для Битрикса, так как договоры с партнерами не подразумевают отказа под предлогом "не нравится".
                              В данном случае вовсе не крик души, просто нечем заняться в субботний вечер :)
                              • +7
                                > Нечем заняться в субботний вечер
                                Перегрузите метод PrepareGetList, добавьте туда еще один параметр.
                              • +15
                                Так если деньги не пахнут, то смысл кричать о том, как все плохо?

                                Например, чтобы в следующий раз не работать с тем что не нравится.
                                Не бывает работы, которая нравится 100% времени. Но в наших силах максимально приблизиться к 100%. И донесении информации о плохих решениях -это один из способов(или основной?).
                                • 0
                                  Менталитет у бизнеса зачастую не тот. Если 10 маркетологов говорят что битрикс хороший продукт, а 1 разработчик — что плохой, то кого послушают в первую очередь? Кто даст откат за выбор платформы?
                                  P.S.: для разминки, попробуйте доказать бизнесу что GET запросы нечего не должны изменять (в частности добавлять в корзину товар по ссылке), т.к. это противоречит протоколу.
                                  • +1
                                    К сожалению бизнесу зачастую плевать на то, что там где и как под капотом, это проблемы программистов "сделать чтоб работало".
                                    Разве что топ руководство очень сильно приближено к ИТ и специфике, и может аргументированно бвырать платформу црм для работы компании
                                    • –1
                                      Бизнесу и должно быть плевать на то, что под капотом. Бизнес — это деньги. И "не нравится программисту" — это не аргумент. Монетизируйте своё "не нравится", объясните бизнесу как вырастает стоимость поддержки и время простоя от плохих архитектурных решений и бизнес прислушается.
                                      • 0
                                        Если программисту аргументированно «не нравится», бизнес должен к нему прислушаться, а не настаивать на своем, но увы это почти всегда не так.
                                        • +1
                                          Именно. Но в статье аргументов нет — просто эмоции.
                                          Расскажите бизнесу, чем плох PrepareGetList с 22 параметрами. В статье написано только пр то, что "чувствует программист". Чувства — это не аргумент.
                                          • 0
                                            Еще какой аргумент. Если программисту такой заказчик «впихнет» хреновый продукт — программист будет хреново работать, делать все «лишь бы работало», без энтузиазма и энергии (или заказчику придется это все компенсировать «молоком») и в конце концов просто уйдет с этого места работы. А заказчик пойдет искать «очередного фрилансера».
                                            • –1
                                              Незаменимых нет. Аргумент мне "не нравится" — это в первую очередь аргумент против того, кому не нравится, а не против продукта.
                                              Если других аргументов нет, то я бы к этому прислушваться не стал. Конечно, бывают случаи, когда программист обладает очень высоким весом, подкрепленным предыдущим опытом работы с ним. Но это не такой уж частый случай. В большинстве случаев программист (особенно сидящий на поддержке сайта) со стороны бизнеса вполне обоснованно выглядит, как бездельник, который постоянно на что-то жалуется.
                                              • +1
                                                «Незаменимых нет. » вот именно отсюда все беды.
                                                Работник думает «найду если чо работу», владелец думает «а пусть пилит вот на этой штуке, не нравится — пусть валит».
                                                А то, что оба выиграют если попробуют найти общий язык — никто не думает.
                                                • 0
                                                  В большинстве случаев мы (программисты) для бизнеса — чернокнижники с непонатными тараканами в голове. Можно сидеть и ждать, когда бизнес придет догавариваться (так бывает). Но эффективнее хотя бы попытаться использовать понятный бизнесу язык. Я с Битриксом не знаком, но было бы полезно увидеть статью, где указаны его недостатки без эмоций, а с нормальной оценкой стоимисти владения. И еще с другими продуктами бы сравнить...
                                                  • 0
                                                    Более эффектино будет если бизнес будет просто слушать своих разработчиков и доверять им.
                                                    Ведь бизнес не учит как и чем стоматологу лечить зубы. А вот в технологии сует нос, «там ведь на конференции сказали...», «первое место в рунете...» и т.д. В такой ситуации будет и битрикс (так как есть те, кому реально он нравится), будут и другие технологии.
                                                    • +1
                                                      Вы путаете холодное с мягким. Стоматология тоже бизнес, а стоматолог — это наемный работник. И главврач порой делает так, как нужно для бизнеса, а не удобно стоматологам.
                                                      Например, вам, как потребителю пофиг как плитку в ванной положили: с соблюдением всех технологий или нет, или там не ровные мазки цемента и если вдруг локально заменить несколько плиток: она вся осыпется. Пофиг, потому что стоило в два раза дешевле, выглядит внешне так же как и в два раза дороже и за 10 лет, когда она уже надоела, с ней не было проблем. Так и с сайтом.
                                                      Сложно поддерживать и дорабатывать? Так только не многие развивают сайты дальше, а огромное количество сайтов висят без изменения и потом разом через сколько то лет переписываются с нуля.
                                            • +1
                                              Именно из-за чувств все стараются пересаживаться с лады калины на что-то иное, хотя ездить можно (и вполне хорошо) и на калине.
                                              • 0
                                                Вы не путайте личное удовольствие и бизнес. Спросите у директора таксопарка почему они Калину не закупают. И чувств там не будет — холодный расчет.
                                                • +1
                                                  Бизнес — он бизнес только для владельца таксопарка, а для рядового таксиста — это работа, на которую он тратит большую часть своей жизни. Эти 8 часов он хочет ездить в комфорте, а не от сервиса к сервису, хочет чтобы в салоне у него музыка играла и ему было хорошо. Когда интересы бизнеса и работника сходятся (такое редко, но бывает) — вот тогда все в плюсе.
                                                  Программист хочет развития (нормальный программист), новых технологий (да, да, бизнесу это приходится проглатывать).
                                                  • 0
                                                    Ну вот я могу сказать, что ни один владелец таксопарка не будет вкладывать деньги и делать хорошо таксисту. Таксист ездит на хорошей машине, потому что это машина люкс и ездит на дорогие вызовы. И машины закупаются те, которые считает нужным. В первую очередь из-за расчета денег. Во вторую для пассажиров.
                                                    Меня в свою очередь спустили с небес на землю, когда в случаях проблем напрямую сводили с заказчиком и я ему доказывал, почему вместо небольшой правки (сайт же по мнению клиента работал) я потратил 60 часов на правки после рукожопого программиста.
                                  • +10
                                    По-моему, что у 1С, что у Битрикс основная идеология — получать деньги за поддержку. А чем лучше архитектура и код, тем меньше денег можно заработать на поддержке.
                                    Так что не удивительно, что они объединились. И мнение программистов их не интересует, потому что всегда найдутся готовые вкорячить 23-й параметр, которым до лампочки архитектура.
                                    • +2
                                      1С как бы не на поддержке программного кода зарабатывает. А на поддержке бизнес-логики в соответствии с текущим законодательством, это немного разные вещи.
                                      Аналогично и с битриксом — пользователи платят за известный бренд, за то что 80% потребностей «из-коробки» покрывает, и то что часть из оставшихся 20% можно кое-как докрутить через настройки, не меняя код. Архитектура, красота кода, соответствие ожиданиям программистов, заказчика волнует в последнюю очередь (по крайней мере пока на рынке есть люди, которые готовы за доработку браться).
                                      • 0
                                        Так поддержка и подразумевает бизнес-логику… Заказчики, которые заказывают код, — это исключительно редкий случай. На код им пофиг, а вот скорость и стоимость внесения изменений в этот код или донастройки другими путями в соответствии с изменениями бизнес-требований многих всё-таки интересует.
                                        • +1
                                          Либо я вас не понимаю, либо вы не понимаете как работает 1С и 1С-франчайзинг.
                                          1С сама по себе не занимается внедрениями, допилкой систем под заказчика и реализацией специфической бизнес-логики. Головная организация выпускает платформу и типовые конфигурации (которые пилятся под законодательство, исправление старых багов и использование новых механизмов).
                                          Идеология развития 1С, причем, явно указывает на то, что 1С как разработчик типовых хочет, чтобы в типовой код изменения не вносились вообще: это и новый механизм расширений и понятие "конфигурации поставщика" вообще.
                                          90% говнокода в конфигурациях это говнокод внедренцев, к которым компания 1С отношения практически не имеет.
                                          Из оставшихся 10 большая часть связана с доработками типа "нужно сегодня срочно внести код, который меняет расчет налогов с начала года, но так чтобы старые года считались по-старому", которые есть следствие особенностей законодательства, что приводит в частности к ужасному дублированию кода.
                                          Исходя из этого, разве что можно предположить теорию заговора в виде "1С специально пишет говнокод, чтобы фирмы-партнеры могли заработать денег".
                                          • 0
                                            Вы правы, я некорректно выразился, смешав в кучу и саму компанию и всех её партнёров. Хотя компания косвенно заинтересована, чтобы было больше 1С-программистов и специалистов по Bitrix. А чтобы их было больше, надо либо делать им удобнее, либо чтобы они могли больше зарабатывать. И в этом плане 1С, по крайней мере раньше, тяготела скорее ко второму пути.
                                      • +1
                                        Так и тех поддержка у них скверно работает, там баги с 2009 года висят.
                                        • 0
                                          А сколько денег Вы им предлагали за исправление этих багов? xD
                                          • 0
                                            найденные баги правятся в зависимости от приоритета бесплатно с обновлениями движка.
                                    • +5
                                      Посыл у вас правильный, но думаю стоило капнуть глубже (а возможно тут нужен человек, которому нравиться копрофилия) так как в таком виде статья выглядит скорей как розжиг очередного hollywar'a (критика есть, но она опирается на слишком малом количестве фактов). И нет, я ни в коем случае не выгораживаю битрикс, да упаси меня святой костыль и велосипед.
                                      • 0
                                        Да, вы правы, тут одни чувства. Статью хотел написать не для программистов, не смог придумать наглядные факты, понятные заказчику. Программисты и так все знают.
                                      • +10
                                        У меня есть 2 любимых коммента о Битриксе, показываю их заказчикам которые пытаются меня туда склонить.
                                        https://habrahabr.ru/post/247769/comments/#comment_8219131
                                        https://habrahabr.ru/post/247769/comments/#comment_8219179
                                        • +1
                                          У вас заказчики паттерны покупают?))
                                          • 0
                                            Попытка купить копейку с кузовом от бентли. Вроде всё красиво, но что-то не то.
                                            • 0
                                              про http://php.net/manual/ru/ini.core.php#ini.auto-prepend-file
                                              видимо автор не в курсе — ну понятно че. главное веть очередной красивый фреймворк в вакууме изучить и применить.
                                              а не знать основы php и его настроек
                                          • –1
                                            Я когда то работал в одной сео компании, и нам нужно было писать софт для продвижения сайтов. И одной из задач была подмена метатегов, титлов, дескрпшенов, и еще много чего разного. И был написан для этого универсальный код с админкой. Ты страиваешь его в index.php, заходишь в миниадминку и все проблемы с сео по просту решаются в 2 клика. НО. Не с битриксом. В нем множество точек входа(в каждой папке свой index.php). и если у сайта много разделов, это нужно было ручками искать эти точки входа, открывать, и вставлять туда этот код. Куча дублей, тебя постоянно отвлекают именно на эту задачу. Для других движков все было просто, и автоматизировано.
                                            • 0
                                              Ну у битрикса и так сео модуль есть. Правда если забыть удалить дефолтные настройки при установке то да долговато вычищать со стриц какой то мебельный магазин или что там ещё)
                                              Да. У них страницы не хранятся в БД а в файлах и директориях. Которые нужно создавать самому. Что невыносимо объяснять для гос. Служащих в глаза не видевшего любые cms.
                                              -А почему именно индекс.пхп?
                                              -пожалуйста, просто запомните.

                                              • –1
                                                — для хранения информации в бд есть инфоблоки которые применяются для разделов статей, новостей и прочих
                                                там не надо создавать index.php, там создаются элементы в категории

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

                                                тогда и проблем не будет
                                                • +1
                                                  как это не для того чтобы их создавали рядовые? а ктож тогда?)) эти кнопки первые в интерфейсе фронтэнда. Вот страницу "акции" через инфоблоки делать?
                                                  • +1
                                                    раздел создали на инфоблоке новости
                                                    раздел создали на инфлоке статьи
                                                    каталог создали на инфлоке

                                                    элементы добавляются, разделы добавляются по кнопке, со со страницы раздела или элемента
                                                    в чем проблема? какие еще index.php?

                                                    пользователь захотел новый раздел не предусотренный в ТЗ? — идет изучает начальный курс по Администрированию битрикс

                                                    а вот интересно что он будет делать в слуае с Simphony? наверное сразу сделаеть контроллеры и модели — веть это намного очевидее и понятнее чем прочитать мануал по контент менеджменту в CMS
                                                    • 0
                                                      Это когда у вас кто то регулярно что то добавлят, то, пожалуйста, инфоблоки отлично. Но зачем делать инфоблок ради страницы акции или контакты?
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • 0
                                                          таки я так инфоблоки и понимаю) Яне понимаю зачем нужны инфоблоки для страницы "акции" (просто текст) или "контакты" или "о магазине"
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                            • 0
                                                              Акции это не функционал — это описание текущей акции: купи носок — конфетка в подарок. Акционные товары и новинки отмечаются свойством true в 1С выводятся на сайте с другим оформлением.
                                                              image
                                                              А так создаются статические страницы с указанием имени php файла с расширением ".php", что совершенно не нужно знать пользователю.
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                • 0
                                                                  Я не понимаю про какой горох вы пишите. Про какой чих и лезть в базу…

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

                                                                  Если пользователь хочет поменять страницу не с визуальной части, а из под админки, разработчику тоже нужно предусмотреть эту возможность cms и закрыть просмотр директорий в админке? Там то вот он и увидит все index.php
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                    • +1
                                                                      А вы пробовали настраивать права доступа? говорят увлекательное дело, помогает выводить в админке и визуальной части «Эрмитажа» только то, что нужно…
                                                                      • 0
                                                                        ну увидит и что?
                                                                        если он туда полез значит уже должен разбираться в этом разделе админки.

                                                                        а остальные просто редактируют через интерфейс Эрмитаж и не парятся ни прокакие index.php
                                                                    • 0
                                                                      так кто же мешает создать раздел вместо страницы? кнопка на вашем скриншоте присуствует
                                                                      там не надо .php и чпу нормальное получается /akcii/ вместо /akcii.php
                                                                  • 0
                                                                    О магазине — конечно же не нужны.
                                                                    Но про акции вы сами пишите, что купи носок — конфетка в подарок. а могут быть и наоборот купи конфетку и носок в подарок. и это уже 2 элемента, а в нормальных магазинах каждую неделю по 4-15 акций. И для этого конечно же идеально подходят инфоблока. Все можно распланировать, подготовить и все будет работать отлично
                                                              • 0
                                                                Зачем битрикс сравнивать с симфони?
                                                                Чтобы создать раздел в том же прессе никаких изучений начального курса не требуется.
                                                                Там не возникает вопросов почему у страницы должно быть расширение php а имя файла латинскими буквами.
                                                                Почему при создании раздела скрыто создается файл index.php в котором происходит правка. Почему в админке в управлении структурой попадаются именно эти index.php если человек создавал раздел.

                                                                Пользователи не понимают этого вообще. И парить этой фигней получаетсят олько потому что у битрикса такая архитектура. Инфоблоки в бд, а страницы — файлы.
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • 0
                                                                    Про симфони я не писал. Да, сравнивал работу создания страниц в вордпрессе и битриксе. В последнем мне не нравится файловая архитектура хранения статики. Мы все же от своего опыта говорим потому лучше мне свой бред больше не нести.
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • 0
                                                                        Приведите пожалуста пример какой нибудь ещё cms где статические страницы православно лежат в php файлах а динамика в бд.
                                                                        Совершенно не вижу проблем хранения статики в БД при использовании маломальского кеширования как не видит с этим проблем вордпресс или опенкарт или престашоп и т.п
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • 0
                                                                            А я вот нигде, с моей точки зрения, колхоза разделения статики как в битриксе нигде больше не видел. Ни в одной cms.
                                                                            Про картинки это передергивание. Я не видел cms где картинки бы хранились в бд.
                                                                            • 0
                                                                              не согласен — подход со стрницами прост гениален и универсален.

                                                                              сегодня это статическая страница заполняемая пользователем в ручную или генерящаяся из экселя
                                                                              а завтра полноценный раздел каталога товаров.

                                                                              — програмисты могут хранить контент в git
                                                                              — пльзователь может делать страницы динамическими вставляя компоненты — в других системах нужно подключать плагины обработки контента шорткоды и прочие велосипеды
                                                                              — верстку переносить очень просто — не придется изучать очередной шаблонизатор и засирать себе голову выдумааными способами и костылями как сделать очевидную вещь

                                                                              я могу создавать и генерить статическую структуру каталога под сео без проблем — веть это всего лишь файлы и папки
                                                                              дополнительные кеши не нужны — мне все закеширует php в opcache
                                                                              • 0
                                                                                Ну бросьте, где там гениальный подход? Это не дает никаких преимуществ. Просто если есть то есть свои фишки. Где ж еще не вкурсе про это гениальное решение? Я не видел cms с подобным подходом. перечисленные плюсы работают спокойно в том же прессе.
                                                                                • 0
                                                                                  в woprdpress без плагинов кеширования не работают — а это лишние зависимости, глюки и тормоза в обновлении
                                                                                  да еще не везде работают плагины кеширования. mecache/redis не везде — а opcache есть везде и тут bitrix со своими статическими php рулит

                                                                                  в wp по нормальному еще можно использовать как то ядро без плагинов. то же могу сказать про bitrix
                                                                                  • 0
                                                                                    В чем гениальность? В своей простоте и прозрачности. Вы можете посреди системы, в каком-то каталоге третьего уровня вложенности, разместить вообще какой-то сторонний скрипт, не подключая битрикс и это все будет прекрасно работать.
                                                                                    При этом она настолько простая, что там нечему ломаться. А код, который закручен на сложной системе ЧПУ, чтобы была возможность по произвольному пути разместить произвольную текстовую страницу и еще чтобы эта структура удобно и красиво так же отображалась в админке и редактировалась....
                                                                        • 0
                                                                          ну так вам же выше сказали используете для этого инфоблоки тогда

                                                                          берете инфоблок — 1 штука
                                                                          пихаете туда все категории и типы материалов — Товары Новости Статьи и прочее
                                                                          храните страницы в БД а не в файлах

                                                                          и получаете архитектуру аналогичную вордпресс
                                                                          • 0
                                                                            Но обычно за такое по рукам бьют) Это называется как изгадить систему)
                                                                            Я в свое время видел программиста на битрикс, который завел каталог в инфоблоке, но он каждый раздел выводил отдельным компонентом, настроенным на вывод только этого раздела и целиком на файлах продублировал структуру каталога. Вот это была жесть, когда человек нефига не понимает как с системой надо работать )
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                • 0
                                                                  Ну вы уж всех то гос. служащих не ровняйте. Хотя мой опыт контентного сопровождения битрикс-сайта муниципалитета не добавляет мне любви к этой ЦМС.
                                                                  • +1
                                                                    Простите, у меня всё в порядке с глазами или я РЕАЛЬНО увидел фразу "У них страницы не хранятся в БД а в файлах и директориях"?
                                                                    КАК с этим можно работать?
                                                                    • +1
                                                                      Для динамики есть инфоблоки — на них сделать можно что угодно. Они работают более менее и на этом весь битрикс. Но для статики есть возможность создавать страницы и папки прямо в файловой системе на сервере. Для этого есть большие кнопки в интерфейсе. То есть весь текст хранится в php файлах, в поместь в реальным php кодом (можно и в разрыв php вставлять, тогда визуальник показывает картинку с php значком, дескать тут php какой то в отличие от хидера и футера, которые слава богу не показываются) причем прямо в корне проекта. То есть назовете папку "blog" с index.php а потом и не вспомните системная она или ваша.
                                                                      • +1
                                                                        Тоесть это адская смесь статики и динамики?
                                                                        Страх и ад разработчика…
                                                                        По сравнению с этим жумла с вордпрессом просто единороги на радуге, получается
                                                                        • 0
                                                                          Да, в визуальные есть возможность кинуть компонент прямо на страницу. Он будет там опять же значком php отображен c названием компонента. А если открыть этот файл блокнотом, то там будет код в помесь с текстом. А компонент может быть фотогалереей или выводом новостей. Плюс в том что можно сверстать страницу непосредственно через какой нить php шторм и тут же залить) Это помоему единственный плюс.
                                                                          Битрикс эта помоему единственная система через визуальник которой можно положить сайт, починить который можно будет только через ftp.
                                                                          Но можно и выкрутится конечно. Вопроса наличия этого как части основного функционала это не снимает.
                                                                          • 0
                                                                            Теперь я понимаю, почему цены на товары в старой (текущей, пока, к сожалению), версии битрикса на одном из проектов которым я управляю надо было менять в 4х местах.
                                                                            Да, я сейчас пишу полностью новое приложение на RoR вместо этого поделия 10летней давности
                                                                            • 0
                                                                              Не знаю, как там в старых версиях, но и без версии интернет магазина можно было бы сделать на инфоблоках товары с выводом свойств и цен более менее работоспособно.
                                                                              • 0
                                                                                Там битрикс года так 2007, если не старше. Как, в прочем ось, php и mysql :(
                                                                                Поэтому я новое приложение и пишу с нуля максимально быстро
                                                                  • 0
                                                                    Решение банально, точка входа это шаблон или написанный модуль для битрикса, который подключается на все страницы. И вот мы получаем 1 точку входа.
                                                                    • 0
                                                                      А еще есть init.php
                                                                      • 0
                                                                        В котором иногда вырастает своя интересная структура с классами и кучей перехватчиков событий )
                                                                        • 0
                                                                          C дуру можно и хер сломать.
                                                                          • +1
                                                                            Потому что init.php только для самых простых случаев.
                                                                            А если у вас сткруктура методов и классов: запилите свой модуль (благо это дело 5-10 минут сделать общую обертку модуля даже с установщиком), разместите все свои классы в lib (и у вас появиться автозагрузка) и зарегистрируется все необходимые обработчики.
                                                                      • 0
                                                                        auto_prepend_file? Если апач — в главной директирии в htaccess можно прописать.
                                                                        • 0
                                                                          во первых — откройте для себя http://php.net/manual/ru/ini.core.php#ini.auto-prepend-file и другие основы PHP

                                                                          во вторых — в битрикс на текущий момент все отлично с вводом и подстановкой сео данных начиная с редакции «первый сайт»
                                                                        • +7
                                                                          1С битрикс создан гениями
                                                                          маркетинга
                                                                          • 0
                                                                            Я думаю это все Рыжиков. Все равно люди идут за харизматическим лидерами. Он великолепно ведёт презентации. Чем собстна руководствоваться еще потребителю? Мнением профессионалов которые хаят друг друга бесконечно в не компетенции?)) Для них это пьяный бред.
                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                            • –2
                                                                              У Вас в последнем слове буквы "ни" лишние :)
                                                                            • +5
                                                                              Лол, помню как недавно главный по битриксу с гордостью анонсировал "Композитный рендеринг", который, при ближайшем рассмотрении в Q&A секции, оказался скопипизженой технологией плагина к магенте. Как там называются консументы последнего уровня, которые питаются падалью от падальщиков, которые жрут других падальщиков?
                                                                              • 0
                                                                                Ладно что он взят о куда то это то вот вообще не волнует. Там же такой жескач появляется по техническим ограничениям работы функционала сайта.
                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                  • 0
                                                                                    Плесень)
                                                                                  • 0
                                                                                    С интересом прочитал бы статью, «Битрикс глазами Битрикс-прогарммиста».
                                                                                    • +12
                                                                                      Да куда там статью, я бы даже с интересом посмотрел на человека "Битрикс-програмиста" которому нравиться то, что он делает и он в этом абсолютно уверен(и на заключение психиатра при общении с таким программистом я бы тоже взглянул).
                                                                                      • +2
                                                                                        https://habrahabr.ru/post/190084/ — старая статья моего коллеги, написанная до того, как он перешел на Симфони.
                                                                                        • 0
                                                                                          Почитал, порадовался…
                                                                                          Теперь я понимаю как пишут ВСЕ продукты…
                                                                                          Судя по теме которую вы дали — принцип действует везде…
                                                                                          Не надо оптимизировать код, код просто должен работать… если ПК не справляется — купите ПК мощнее… но код не при чем… )
                                                                                          Печально это на самом деле…
                                                                                      • +2
                                                                                        Господи, я уже думал я один так думаю!
                                                                                        • +12
                                                                                          Добавлю из своей частной парктики времён кодинга под Битрикс и Юми… )))
                                                                                          Продукты были написаны бородачами, не знакомыми с принципами не только ООП но и стандартов программирования. В то время, как профессиональные программисты начинают свою карьеру с фундаментальной теории, математики, логики, и стандартов кодинга (которые между прочим были еще в давние времена, примеров много, гуглите), так вот, в это же самое время быдлокодеры "получают результат" намного быстрее, игнорируя все возможные правила и стандарты. Читать, поддерживать и исправлять такой код невозможно, только если переписать. Но это долго, дорого, и не понятно зачем нужно, если "стандартная комплектация" работает "из коробки" без каких-либо настроек.
                                                                                          Однако, я занимался именно тем, что называется "кастомные доработки", а это требовало изменений и модулей и даже частично ядра. Да, я делал патчи для ядра Битрикса, и хаки для Юми. И да, это работало. дичайшие костыли, заставляющие работать что угодно… но поддерживать это мог только я, и мои последователи, прошедшие 3-х недельный теоретический и 2-х недельный практический курс по работе с этим адом.
                                                                                          Я не могу по ряду причин назвать компании, на которые я работал с этими технологиями, но каждый раз я им ненавязчиво предлагал с нашим-то количеством программисто-часов переписать всё в нормальном виде собственной системы управления с поддержкой и стандратами, блэкджеком и прочими сладостями.
                                                                                          Руководству нравится 1с. Это для них успокаивающая мантра. Им нравится что всё работает и все работают. А несколько лет назад, когда и Битрикс и Umi вдруг ударились головой об железную батарею и решили внедрять bleeding edge в виде модульного и компонентного фронтенда я решил уйти из веба. Python и Ruby, Java, С++, Go — это то, что действительно приносит радость и удовольствие. А веб… пусть он останется таким
                                                                                          • +3
                                                                                            Ну не весь веб такой.
                                                                                            Рад за Вас, не всем везет найти то, "что действительно приносит радость и удовольствие".
                                                                                            • +1
                                                                                              не весь. но повезёт всем, я узнавал :-) не стесняйтесь пробовать новое!
                                                                                              • +1
                                                                                                спасибо, надеюсь, мне, думаю, от части везет — я люблю php. От части, потому что я еще не на том уровне, как хотелось бы.
                                                                                                • +2
                                                                                                  а я тоже любил php, просто уже года два как не пишу на нём ничего вообще. не знаю даже новостей особо про седьмую версию. и ларавель очень любил. но я никогда не ограничивался какой-то одной технологией или каким-то одним инструментом для достижения какой-либо задачи. да и задачи разные. начинал с html еще в глубоких догугловских времён, продолжал в саппорте на третьем (!) php и перле, да, тогда cgi были повсеместно. потом революция 4 php, css, js и понеслась… параллельно я всегда увлекался системным программированием, изучал с, asm, бог миловал — я миновал delphi и pascal, хотя прекрасно читаю и понимаю и этот код. потом был c++, java, python, ruby. сейчас rust и go. до функционального не дошёл. всему своё время :-)
                                                                                                  • 0
                                                                                                    а я делфи не миновал )))) и третий пхп помню, правда только с четвертого взялся за него
                                                                                            • +1
                                                                                              Зачем уходить из веба, если Python, Ruby, Go приносят радость и удовольствие? o_O Можно же писать на них, заодно и ставку поднять :)
                                                                                              • 0
                                                                                                строго говоря из веба сейчас сложно уйти. те же парсеры на вышеупомянутых языках вполне себе из веба достают данные. куда они идут дальше — это уже второй вопрос, но от веба всё равно не уйти. я не совсем корректно выразился, простите: я имел в виду сайтостроение и цэмээсо-фреймворко веб-программирование. короче всё то, где результатом твоего кода html )))
                                                                                                • 0
                                                                                                  Python + Django, Ruby + Rails — все еще некрасиво и костыли без архитектуры? Что же вас так отталкивает от веб-программирования, где результат в виде html? :)
                                                                                                  • +7
                                                                                                    банальное соотношение времени к деньгам. трудозатраты на веб кодинг приносят меньше денег, чем та деятельность, которой я сейчас занимаюсь. плюсом к "забытию мной веб кодинга" стала еще скука: однотипные типовые решения, типовые костыли, типовые заказчики, типовые скучные шаблонные psd, скучная невалидная вёрстка, скучная переделка в бэм, дичайше скучное количество пакетных менеджеров во фронтенде (ну реально их столько, что скучно перечислять), ну и так далее… нет, кому-то это всё весело и круто, для кого-то это холивар вообще, а я просто вырос, и теперь люблю оливки :-)
                                                                                                    • 0
                                                                                                      спасибо, мотивы прекрасно понятны)))
                                                                                                      • +1
                                                                                                        да, есть такое, но, по моему, большинство поставленных недостатков, как то, типовые задачи и такие же заказчики, а то и хуже, однотипные решения и тд, могут присутствовать и в других сферах разработки, а решаются не уходом из профессии, а работой на свой проект(ы) в команде людей, которые делают так, чтобы было приятно с ними. Но это дорого, ибо тут или за бесплатно работать (а жить тогда за что?), или инвесторы, но их найди пойди… короче что об этом говорить, сами понимаете.
                                                                                                        • 0
                                                                                                          везде скучно со временем становится. я вот наоборот, в вэб ушел лет 10 назад.
                                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                          • 0
                                                                                                            Да ладно, что Вы так агитируете :)
                                                                                                            Кстати, 8 лет работы с Rails позволяют мне сказать, что внутренности фреймворка никогда особо не отличались идеальной архитектурой. В какой-то мере он проседает под своей же функциональностью. И порой, чтобы понять как работает какой-то внешне простой метод, приходится загружать в кратковременную память файлов этак 15-20, часть из которых ещё и во внешних гемах. Хотя чаще всего можно просто использовать API-фреймворка, не вникая в реализацию.
                                                                                                            По поводу Django не могу сказать, но подозреваю, что там тоже не везде всё шоколадно.
                                                                                                            Конечно, это всё в 100 раз лучше Битрикса, но что-то я склоняюсь к мысли, что для веба лучше всего в архитектурном плане подходит как раз функциональное программирование. ООП там только мешается и создаёт лишнюю сложность.
                                                                                                            А по сути к серверу приходит HTTP-запрос — входные данные, которые надо пропустить через ряд обработчиков (функций), последний из которых вернёт HTTP-ответ.
                                                                                                      • +5
                                                                                                        Python и Ruby ничем не лучше PHP

                                                                                                        Go реально какая-то альтернатива. но PHP ему не заменить а как дополнение к PHP вполне сгодится
                                                                                                        • 0
                                                                                                          Не знаю про питон, не пользовался, а вот руби всем лучше php, имхо.
                                                                                                          • 0
                                                                                                            Ха. Внесу вам раздор)
                                                                                                            Мы с коллегой тоже как то вот крутили вертели ну и… вот php как остался вне конкуренции по популярности так и есть. Помоему у php так и нет конкурентов в вебе. Ну посудите сами, по каким критериям сравнивать? Давайте опустим особенности языка — синтаксис — это выбор каждого. Там даже не буду вникать, это разные плоды человеческого мышления — они ценны и не сравнимы как два человека-личности. Сам по себе руби без рельсов — могу наврать, но никому не нужен особо. Да, знаю есть там и десктопные попытки и т.п. Сам по себе руби — язык медленный. Думаю это не новость. Yii2 — близкий аналог рельс. По факту, джанго, рельсы, yii — все дергают друг у друга фишки т.е архитектура примерно современна у всех со своими особенностями.
                                                                                                            php просто бьет своей популярностью. А после выхода php7 вопрос, как я понимаю, наезды на тормознутость из за архитекутры тихонько тихонько да и пропадают.
                                                                                                            Ну и вот… рельсы… зачем непопулярное и заведомое медленное… только для ценителей японского искусства. Но не пропагандировать руби означает отсутствие роста комьюнити, за это ответственность не возьму)
                                                                                                            • 0
                                                                                                              Да я вообще ASP.Net-чик, для меня все динамические языки априори хуже. Но из них я пробовал руби — приятный язык для локальной разработки, когда всю программу можно охватить взглядом. Сложные решения не пробовал, так чтобы там десятки решений в солюшене, и т.п. И руби мне очень понравился, довольно выразительный. А вот от пыхи очень негативные воспоминания.
                                                                                                              • 0
                                                                                                                С аспешниками вообще очень интересные беседы. По моим ощущениям как у аспешников с 1С никами но чуть лучше.

                                                                                                                Я, например, вообще не понимаю как можно делать сайты на шарпе.)) Ну да да я понимаю, сайты для больших компаний. По сообщениям коллеги работающего в крупной конторе, кода они перешли с шарпа на рельсы, можно было увольнять половину аспешников в отделе. Долго работают. Или вот меня такое пугает еще:
                                                                                                                Куплю я себе мак и не смогу больше работать без винды.

                                                                                                                Или вот, например, как разобрать ответ json неизвестной структуры не подключая dll? После php на шарпе какие то невообразимо придуманные сложности вылазят. JSON в php просто… как я не знаю что во всех вообразимых комбинациях.
                                                                                                                Вот такие вот мысли порой появляются.

                                                                                                                Но, конечно, каких то ботов или веб службы да, на шапре пиф раф и готово. Да, используем так как очень удобно.
                                                                                                                • 0
                                                                                                                  Или вот, например, как разобрать ответ json неизвестной структуры не подключая dll? После php на шарпе какие то невообразимо придуманные сложности вылазят.

                                                                                                                  Во-первых я миллиард раз сталкивался с парсингом JSON, и ни разу не было такого, что структура была неизвестна :)
                                                                                                                  Во-вторых даже если, то просто
                                                                                                                  var obj = JObject.Parse(json);

                                                                                                                  JSON.Net — один из основных компонент шарпа, я не считаю это сторонней библиотекой, как не считаю использование STL ей.
                                                                                                                  Я, например, вообще не понимаю как можно делать сайты на шарпе.)) Ну да да я понимаю, сайты для больших компаний. По сообщениям коллеги работающего в крупной конторе, кода они перешли с шарпа на рельсы, можно было увольнять половину аспешников в отделе. Долго работают. Или вот меня такое пугает еще:
                                                                                                                  Куплю я себе мак и не смогу больше работать без винды.

                                                                                                                  ХЗ, у меня никогда не было проекта, который длился меньше двух лет. На них динамические языки имхо не оч. А стародавние проекты создавались еще на 3.5 в момент его появления, и тоже до сих пор поддерживаются. Так что варианта два: либо сайты из разряда фигак фигак и продакшн, либо разрабы просто профнепригодные, а технология тут не при чем.
                                                                                                                  Ну и нужно понимать, что если сайт на шарпе работает, то скорее всего в нем ошибок нет, при грамотном проектировании это почти невозможно. В динамическом языке результат появляется намного позже, и таких гарантий со стороны компилятора нет. Не даром тайпскрипты появляются и все прочее, хотя на екмаскрипте можно все намного быстрее разработать.
                                                                                                                  Впрочем, все эти доводы в пользу "долгих разрабов" это просто либо как я сказал — разрабы не очень, либо просто холивар на тему статика вс динамика. Лично я за статику.
                                                                                                                  • 0
                                                                                                                    Во-первых я миллиард раз сталкивался с парсингом JSON, и ни разу не было такого, что структура была неизвестна :)

                                                                                                                    Не поверите! Но мне мой знакомый аспешник 1 в 1 говорит!)))Я ему вопрос из жизни, а он мне "зачем тебе это нужно?"))
                                                                                                                    Видимо миры разные) Дело то простое — есть сайт посольства, написанный на каком то java фрейворке. Нужно автоматизировать загрузку анкет. Анкета валидируется на сервере. При неверных данных сайт выдает другой json для js скрипта. Но так как у нас бот, разбирать ответ приходится самостоятельно, а технология требует сначала описать структуру json а потом уже с ней работать. Проблем то конечно нет. Но после php вызывает чес за ухом и натянутую бровь)
                                                                                                                    Так то да, холиварить особо не зачем.
                                                                                                                    • 0
                                                                                                                      Я не говорю, что не нужно. Я говорю, что структура известна, по крайней мере один из нескольких вариантов. Ну и да, даже если, я сказал, вот есть JObject, проверяем какие-то поля, если допустим это JSON с ошибкой, то делаем что-то, если нет, то преобразуем в доменный объект и дальше уже с ним работаем.
                                                                                                                      • 0
                                                                                                                        Там такой тупой JSON что и варианты описывать грешно. Проще оказалось If с регулярочкой.
                                                                                                                        • +1
                                                                                                                          Парсить структуры JSON/XML регулярками неблагодарное дело имхо. Но в любом случае JObject просто представляет собой хэш-таблицу, и можно просто через obj["foo]["bar"] обращаться к любым свойствам. Но я уже говорил, почти всегда я юзаю DeserializeObject и все.
                                                                                                        • 0
                                                                                                          > если Python, Ruby, Go

                                                                                                          Я знаю на RoR один скрипт интернет-магазинов — SpreeCommerce. Можете подсказать ИМ-скрипты на Python и Go?

                                                                                                          Интересная ситуация, всем хочется писать на Python, Ruby, Go — но популярных продуктов я не них не вижу. Есть сайты, которые написаны на них. Но вот продуктов, которые можно было бы купить, развернуть на своём сервере, настроить и запустить, чья популярность и известность были бы сравнимы с opencart/magento/prestashop/bitrix/wordpress — нету. На питоне разве что джанга вспоминается.
                                                                                                          • +1
                                                                                                            Spree это гигант в мире Ecommerce для Rails, у него практически монополия. Обычно берут либо его либо пишут что-то свое.

                                                                                                            Про Python/Go примеры показать не смогу, увы, не пользуюсь ими и не ориентируюсь. Есть просто мысли, почему они мало связаны с данной темой.

                                                                                                            Ruby в отличие от Go/Python фундаментально по философии ориентирован на быструю разработку. Т.е. напихали в Gemfile нужных блоков, чуть-чуть добавили своего кода по принципу "кода мало — результата много" (т.е. Ruby и Rails специально на это заточены) — и вуаля проект готов. Да, он легко может потребовать более мощного железа чем например аналогичный проект на Python и тем более Go.

                                                                                                            НО! Для ecommerce задач стоимость железа зачастую смехотворна по сравнению со стоимостью разработчиков. Время также критически важный фактор. Меньше время разработки — быстрее финансовая отдача от ее результатов. Это позитивная обратная связь, т.к. прибыль можно опять пускать на разработку, раскручивая маховик.

                                                                                                            С этой точки зрения вести разработку на Python/Django тоже вроде бы достаточно интересно (поправьте меня, знатоки). А вот например Go/Node безнадежно проигрывают — спецов искать тяжело в виду их малого количества (особенно на Go), системы могут получаться более "хрупкими" и дорогими в плане поддержки, в силу юности платформы и меньшего числа best practices (это частая беда проектов на node как я их вижу, например).

                                                                                                            Итого получается что бизнесу очень часто реально выгодно либо брать PHP либо Rails/Django. А node/go/erlang это более нишевые решения. Они либо могут быть небольшой частью системы (чатик например когда надо прикрутить, или еще какой рилтайм функционал), либо основной систем другого характера (например, онлайн-гейминг).
                                                                                                            • 0
                                                                                                              Спасибо за развёрнутый ответ. Очень интересно.

                                                                                                              > Spree это гигант в мире Ecommerce для Rails, у него практически монополия.

                                                                                                              Вот это-то и интересно. Почему монополия? Почему один инструмент? Не востребовано? А почему? Вот на php для веба написана масса, просто масса скриптов для екоммерса.

                                                                                                              Ведь когда пишешь что-то своё, нужно реализовать массу рутинных вещей, заниматься которыми в общем скучно. Писать очередной модуль расчёта скидок по кастомизируемым правилам? Очередной модуль оплаты/доставки? Это правда интересно? Я вот не знаю ответа.
                                                                                                              • 0
                                                                                                                Тут мне кажется история во многом похожа на Rails. Зачем несколько инструментов, если есть один и классный, который на голову лучше других? Конкуренция это хорошо, но только не как самоцель.
                                                                                                                Ведь когда пишешь что-то своё, нужно реализовать массу рутинных вещей, заниматься которыми в общем скучно.

                                                                                                                Так а зачем писать "очередной модуль"? Возьмите подходящий gem или напишите уже один раз свой универсальный, который будете потом в новые проекты легко добавлять. Тот же самый Spree например тоже модульный, и часть его кода к себе в проект можно спокойно утащить. Самый яркий пример наверное — Payment Gateways. Или модели тех же самых заказов берите из Spree или какого-то другого решения и используйте. Массу рутинных вещей с помощью gems как раз и можно решить.
                                                                                                                • +1
                                                                                                                  Как один из разработчиков Spree, отмечу, что монополии у Spree нет, да и не было.
                                                                                                                  Всегда были альтернативы, в 2009-2010 был Substruct, в 2011 появился ror_ecommerce, сейчас есть Shoppe и Piggybak, а от Spree 2.3 появился форк Solidus. А вот то, что с 2010 года по сей день Spree удерживает лидирующие позиции среди конкурентов, — это правда :-)
                                                                                                                  Ведь когда пишешь что-то своё, нужно реализовать массу рутинных вещей, заниматься которыми в общем скучно.
                                                                                                                  По-моему устанавливать готовые модули/расширения ещё скучнее, чем писать собственные… Впрочем, чтобы не заскучать, придётся каждые пару лет менять область деятельности.
                                                                                                                  • 0
                                                                                                                    Скучнее, да. Но установить готовый модуль это полчаса, а сколько времени скучать при написании рутины…
                                                                                                                  • 0
                                                                                                                    Django Oscar это фреймворк интернет-магазина на Python Django, да вообще Django Framework на мой взгляд самый рассово чистый веб-фреймворк из (Python, Ruby, PHP) долго (ну кому как конечно) нужно вникать, зато когда вникаешь становится ясно что это всё очень хорошо и правильно, и покой)).
                                                                                                                • 0
                                                                                                                  Для e-commerce на Python сейчас вроде в моде django-oscar.
                                                                                                                  Что касается Go, на мой взгляд, у него другая ниша.
                                                                                                                  • +1
                                                                                                                    Да дело не в нише, дело в продуктах. Вон в комментарии выше упоминают node.js. Сайты на нём делают, знаю. Знакомые девелоперы есть. Вернее там SPA на связке Angular.js + node.js + Angular Materials (если не ошибаюсь — набор компонентов для ангулара по гайдлайнам гугл материалс).

                                                                                                                    Но продукты-то где?

                                                                                                                    Вот казалось бы — если тебе в кайф работать с нодой/питоном/руби — да возьми тот же битрикс и напиши аналог на новом инструменте — шустрый, лёгкий.

                                                                                                                    Нету.
                                                                                                                    • +1
                                                                                                                      Правильно, потому что "коробочные" интернет-магазины покупают, если они на PHP и с минимальными требованиями к квалификации для установки/поддержки (читай — дешево обходятся).

                                                                                                                      Если не на PHP — приходят не за коробкой, а к команде разработчиков за индивидуальным проектом. И если команда разрабов делает индивидуальный проект, то его потом как коробку другим клиентам не продашь. Так что если коробка — то PHP.

                                                                                                                      А если не PHP, то SaaS продавать можно. Уверен, есть SaaS для интернет магазинов написанные не на PHP, в т.ч. в России.
                                                                                                                      • +1
                                                                                                                        Уверен, есть SaaS для интернет магазинов написанные не на PHP, в т.ч. в России.
                                                                                                                        Так это и не секрет. Как миниму InSales поверх RoR крутится.
                                                                                                                      • +1
                                                                                                                        Хах, попытки то есть и очень много. Но Вам зря кажется, что написание ecommerce-платформы — это задача из разряда "захотел — взял и сделал".
                                                                                                                        Во-первых, нужен высокий уровень компетенции в теме.
                                                                                                                        Во-вторых, нужно дофига свободного времени, либо финансирование разработки.
                                                                                                                        В-третьих, нужна команда, в которой помимо программистов будет хотя бы дизайнер, и очень желательно маркетолог.
                                                                                                                        Проще говоря, чтобы подвинуть PHP на рынке коробочных решений, должно захотеться компаниям, а не программистам.
                                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                  • +1
                                                                                                                    Веб приносит радость и удовольствие, но его нужно правильно готовить. Или как минимум не в котле битрикса.
                                                                                                                  • +2
                                                                                                                    Можно добавить ещё несколько «движков» для выкачивания денег из заказчика?
                                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                    • +6
                                                                                                                      Довольно странно относиться к Битрикс всерьез, тем более — как к «продукту». Битрикс — это культурно-историческое явление, замечательное не только количеством созданных рабочих мест для низкоквалифицированной раб. силы, но и прежде всего тем, что является прекрасным индикатором отсталости рынка, продолжающего его «хавать» в таких диких количествах. Уверен, что умные аналитики давно мониторят количество МегаБитриксов в эксплуатации, чтоб не пропустить момент, когда массовый рынок созреет для выхода настоящих высокотехнологичных продуктов. А пока что, да — каждая строчка «доработки сайта на Битрикс» не только убивает трех котят, но и уверенно отдаляет это светлое будущее ;)
                                                                                                                      • +1
                                                                                                                        Ох я не уверен, что рынок когда то там созреет для дзена вместо прибыли.
                                                                                                                        • +3
                                                                                                                          Дзен и прибыль вещи неразделимы, простой пример. Берём magento — час программиста дороже(большой порог входа), архитектура mvc(хорошо продуманна и построена), в комунити много расширений решающих 30% задач, 60% она решает из коробки, разработка модуля занимает от (1-8 часов). Битрикс — дешёвые программисты, архитектура говнокод, много расширений и т.д. Так что magento дешевле окажеться в поддержке чем битрикс. Но у второго маркетинг и начинающие программисты что перевешывает плюсы magento.
                                                                                                                          • 0
                                                                                                                            Меня сильно огорчает рынок cms для интернет магазинов. Просто гонит в адскую печаль. Мне вообще ничего не нравится.
                                                                                                                            Из бесплатных что prestashop (нет из коробки модуля самовывоза, визуально легкий но адский дефолтный шаблон в over 5000 строк css это капец) что opencart — динозавр ( посл