На чем написан bitrix24
Мой МеморизИТ
В русскоязычном сегменте Интернета существует такой интересный феномен, как Битрикс.
Для обывателя — это такая серьезная система, «продукт», на котором нужно разрабатывать серьезные проекты: корпоративные порталы, интернет магазины и даже CRM системы. Все очень серьезно, почти как опыты нацистов над инопланетянами (на канале Рен-тв сразу после рекламы).
Для программиста, который прочитал хоть одну книгу про программирование, Битрикс — это так называемый «плохокод», просто-напросто огромное количество PHP файлов, написанных в разном стиле, которые подключаются «инклудом» и что-то там выводят.
Эта статья для обывателя (потребителя). Как правило, такой обыватель, прежде чем сделать выбор CMS, читает статьи под названием «плюсы и минусы Битрикса», которые пишут люди, далекие от программирования. Данная статья написана программистом, потому плюсов тут быть не может.
1. Архитектура
Я испытываю чувство унижения, чувство несправедливости и обмана, когда снова и снова приходится делать какие-то доработки Битрикс сайта.
Дело в том, что умные люди со всего мира пытаются упорядочить, систематизировать и усовершенствовать архитектурные решения в программировании. Из-под пера лучших программистов рождаются «паттерны»: это некие чертежи и схемы участков больших систем, не привязанные к конкретному языку программирования. Это очень ценная информация, опыт предков, данный молодым программистам, чтобы они не теряли время на решение возникающих проблем архитектуры (то самое чувство, когда хочется взять и написать все с нуля).
Битрикс — это полное отсутствие архитектуры. Это просто набор десятков или сотен тысяч файлов с кусками кода, которые никак не связаны между собой. В хороших системах данные крутятся вокруг контроллера, модели и представления, там есть определенные «типы», — это данные, которые наследуют интерфейсы и прочие вещи, благодаря которым программист, не вникая в бизнес-логику конкретного сайта, может понять, как распоряжаться этими данными в каждом новом проекте. Это все опыт десятилетий.
В Битриксе же все написано так называемой «лапшой»: это когда школьник садится за компьютер на уроке информатики и записывает свою мысль от начала и до конца в виде кода в одном файле. Таких школьников в классе 30 и каждый написал свой компонент в своем стиле. Потом встает вопрос, как это все связать в систему? Чтобы понять, откуда берутся те или иные данные в «продукте» 1С Битрикс, нужно делать поиск по коду в файловой системе. Иногда, чтобы все сломать, достаточно поменять местами два компонента, которые обмениваются данными друг с другом через какой-то костыль, который придумал программист (порой общение между компонентами происходит через сессию или другую глобальную переменную).
2. Код
Это просто унизительно, продавать за деньги систему, в которой HTML код перемешан с JS, PHP и CSS. Ниже я приведу функцию «продукта». Чтобы ее поняли и люди, далекие от программирования, еще ниже будет пояснение. Эта функция — метод класса (. ) ядра (. ) Битрикса, который вызывается, как статический (. ) и ему передается 21 аргумент по ссылке (. ).
(пересчитал еще раз — 22, по штуке на каждого нового программиста, который дописывал этот метод)
Чем это плохо? Что чувствует программист, видя это? Объясню: вот приходите вы в банк, платите 200 рублей, чтобы вам заполнили платежное поручение (ведь вы занятой человек, у вас нет времени). Вы отдаете деньги, но эти бюрократы заявляют, что чтобы воспользоваться любой услугой банка, в том числе «заполнение поручения», вам нужно заполнить анкету: ИНН, номер паспорта и прочие многоциферные штуки. У вас возникает недоумение: но я же заплатил деньги, чтобы мне было комфортно и удобно, чтобы ничего не надо было заполнять? Но ведь у банка напротив вообще не нужно заполнять никаких поручений, можно просто бесплатно ввести один 4-значный код для проведения платежа!
Банком напротив являются бесплатные фреймворки, а вашим банком — расхваливаемый маркетологами платный Битрикс.
Вы не найдете ни одного программиста, который бы перешел с фреймворков на Битрикс.
3. Обман.
Не хотелось бы писать тут слишком много. Скажу кратко: если вы выбрали 1С Битрикс, чтобы его просто так взять и связать с 1С своего предприятия стандартным модулем — у вас ничего не получится. И много чего другого у вас не получится просто взять и сделать стандартным модулем. У вас все получится, только если вы ничего не будете менять в скачанном архиве, состоящем из тысяч каких-то PHP файлов. Все доработки — это боль, тлен и тысячи трудочасов программиста, который знает программирование на уровне языка разметки и написания сценариев, а не архитектуры.
Заключение
Статья написана программистом и описывает то, что у Битрикса под капотом. Снаружи это действительно удобно и презентабельно. В итоге, это можно охарактеризовать, как продукт хороших маркетологов, которые работают без хороших программистов.
Чтобы статья была менее провокационной, скажу также, что современным бесплатным фреймворкам наоборот, не хватает маркетологов: их продукты имеют высокий порог вхождения и доступны только узкой группе лиц, они никогда не станут народными, как Битрикс.
Минусы Битрикса, или Битрикс глазами программиста : 1 комментарий
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Что такое Bitrix
Этой статьей я завершаю цикл, посвященный 1С. В статье Что такое 1С. О сложной системе простыми словами я обещал посвятить программным продуктам “1С-Битрикс” отдельную статью, и сейчас я выполняю это обещание. Статья является обзором, в ней я не буду углубляться в технические детали и особенности применения программного кода, для этого существует подробная документация, доступная всем желающим на официальном сайте компании.
Здесь я расскажу о важных особенностях платформы Bitrix Framework, а также о программных продуктах, созданных на этой платформе. Статья предназначена, прежде всего, для пользователей, которые стремятся понять, нужны ли для их бизнеса те или иные разработки Битрикс, и в чем их особенности. Также информация из этой статьи может оказаться полезной разработчикам, которые работают с другими CMS, но хотят также получить некоторое представление о Битрикс.
В последнее время я часто сталкиваюсь с интеграцией сайтов с системами CRM и программами учета движения товаров и денежных средств. Чаще всего в нашей стране интеграция требуется с разными версиями и конфигурациями 1С. Также часто заказчики к моменту обращения ко мне либо уже успели создать Битрикс-сайт, либо интересуются возможностью перехода на этот движок, так как компания 1С рекомендует его как систему, в которой имеется все необходимое для автоматизации обмена данными. Многочисленные вопросы и накопленный практический опыт работы с Битрикс-сайтами стали теми факторами, благодаря которым я вспомнил о давнем обещании подробно поговорить о Битрикс и все же написал эту статью.
Что такое Битрикс?
Начать я предлагаю с определения самого понятия Битрикс. Обычно это название используют в двух вариантах:
Немного истории
Для начала поговорим о компании, чтобы понимать, откуда взялся программный продукт «Битрикс» и почему его название оказалось именно таким. Основана компания «Битрикс» была еще в 1998 году сразу после финансового кризиса как веб-студия, специализирующаяся на разработках интернет-сайтов под заказ. В начале 2000-х компания создает и начинает развивать собственную CMS-систему, которую также называет «Битрикс». Первые версии CMS Битрикс ничем принципиально не отличались от множества других движков сайтов, пока в 2007 компания 1С не выкупила контрольный пакет акций «Битрикс», после чего система управления сайтом получила название «1С-Битрикс».
Важно понимать, что после такое слияние компаний и последующее изменение названия продукта произошло на уровне бизнеса и маркетинга, т.е. объединились компании, объединился бренд, а технические решения по большей части остались прежние – у каждого программного продукта (1С и Bitrix) свои.
Очень часто пользователи, ориентируясь на название и на рекламу от компании 1С, приходят к выводу: если компания пользуется 1С и стремится создать интернет-магазин, значит, лучше всего выбрать для этого CMS Битрикс, ведь это продукты под одним брендом и разработчики 1С также рекомендуют именно этот движок как наилучший для обмена данными с программой 1С.
Аналогично и наоборот, если имеется интернет-магазин на Битрикс и владелец приходит к выводу о необходимости автоматизации продаж, то из всех вариантов учетных систем он, скорей всего, выберет программные продукты 1С.
На самом деле, Битрикс и 1С – это разные продукты, созданные разными компаниями, и разработчики этих продуктов работают абсолютно независимо друг от друга. Нельзя даже сказать, что разработчики 1С ориентируются при своей работе на потребности пользователей Битрикс или наоборот, что разработчики Битрикс учитывают в своей работе какие-то нововведения от 1С. А объединение названий является исключительно маркетинговым ходом, надо признать, очень удачным. То есть этот ход можно считать удачным ходом именно с маркетинговой стороны, c технической стороны положительных примеров от объединения я привести не смогу.
Битрикс как программный продукт
Все программные продукты Битрикс созданы на базе Bitrix Framework. Если обратиться к разделу помощи на сайте 1С-Битрикс, то можно увидеть такое определение:
Bitrix Framework — это созданная на основе PHP платформа для разработки веб-приложений. На этой платформе компанией «1C-Битрикс» созданы два популярных продукта: «1C-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал».
Такое определение понятно для веб-разработчиков, но ничего не говорит пользователям. А потому я попробую пояснить упрощенно, о чем идет речь.
Framework – это некий «каркас», платформа для создания программных продуктов.
PHP – это язык программирования, на котором написан этот «каркас».
На основе этого «каркаса», этой платформы компания Битрикс создала программные продукты «1C-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал». Это уже готовые CMS, которые можно установить на хостинг, настроить и работать с ними, как и с любой другой системой управления сайтом.
С технической точки зрения программные продукты Битрикс (сайты и мобильные приложения) создаются на основе собственной платформы Bitrix Framework.
Разработкой программных продуктов на платформе Bitrix Framework занимается узкий круг программистов, состоящий из специалистов компании. Это коммерческий продукт, а потому такое ограничение можно считать преимуществом. Обновления программных продуктов предсказуемы и понятны, подход к работе практикуется комплексный, а новые функции обычно работают именно так, как заявлено.
Также компания очень ответственно подходит к работе своего магазина надстроек и приложений MarketPlace. Предложить разработку для этого магазина могут не только сотрудники компании, но и сторонние разработчики. Но любой предложенный продукт проходит строгую премодерацию, решение тестируется специалистами компании “Битрикс”, и только после их одобрения появляется в публичном доступе.
Из минусов подобного подхода необходимо отметить то, что количество расширений (модулей) намного меньше чем у продуктов с свободной лицензией, и они намного менее разнообразны. Оно и понятно — количество разработчиков не ограничено размерами компании.
Что такое «каркас»? Подробнее о Bitrix Framework
Bitrix Framework – это некий набор готовых модулей и компонентов, т.е. «кирпичиков», из которых программисты Битрикс создают программные продукты. В принципе, платформу Bitrix Framework любой программист может при желании использовать для создания собственных программных решений, также и готовые продукты Битрикс вполне возможно доработать так, как это нужно пользователю.
Bitrix Framework – решение с открытым кодом, т.е. программист может доработать ваш программный продукт Битрикс как угодно, ограничений по доступу к программным модулям и их коду в этой системе нет. Но при этом Bitrix Framework – решение, поставляющееся на основе лицензий. Т.е. установить и пользоваться программными продуктами на основе Bitrix Framework вы сможете на таком количестве компьютеров, какое количество лицензий вы купили.
Для сравнения: программные продукты 1С также поставляются с лицензированием, но в них доработать можно только конфигурацию, ядро (основа программного продукта) для программистов недоступно. В Битрикс программист может вносить любые изменения, в том числе, в ядро. А, например, DRUPAL — это система с открытым кодом, но без лицензирования.
Для того чтобы понимать, как работают программные решения Битрикс, нужно знать, что каждое из них состоит из ядра (платформы) и модулей-надстроек. Т.е. существует язык программирования (php), на котором написано ядро. В ядре прописаны определенные возможности, правила, созданы инструменты, которыми может пользоваться разработчик. При создании программного продукта необходимые инструменты подключаются и настраиваются, в случае необходимости, ядро также может быть доработано. А при работе с готовым программным продуктом можно также корректировать платформу, но чаще она остается неприкосновенной, а доработки вносятся при помощи различных внешних модулей.
Также нужно учитывать, что платформа уже включает в себя некий перечень базовых модулей, которые могут подключаться или отключаться при необходимости. А потому, например, в корпоративном портале имеется модуль «корзина покупок», казалось бы, совсем там ненужный. Но, так как он вошел в базовый набор, он присутствует во всех программных продуктах Битрикс.
Далее с готовыми уже инструментами может работать пользователь (модератор, администратор сайта и т.д.), и с их помощью создавать контент, выкладывать товары и так далее.
Программные продукты Битрикс
Программные продукты Битрикс отличаются друг от друга преимущественно набором модулей, которые вошли в готовое решение, и делятся на категории по типу сайта, который может потребоваться в том или ином случае:
1С-Битрикс: Enterprise – решение для крупных интернет-проектов.
Также в отдельное направление стоит выделить продукт «1С-Битрикс: Мобильное приложение», которое используется для создания мобильных версий сайтов или интернет-магазинов, а также других видов приложений для мобильных устройств, которые после создания можно выкладывать для скачивания или продажи в App Store или Google Play. Этот программный продукт также является готовой платформой, благодаря чему создание мобильных приложений происходит намного быстрее и проще, чем работа программиста с нуля.
Также еще раз напомню, что любой продукт 1С-Битрикс после покупки можно дорабатывать на любом уровне, начиная от привычных всем внешних модулей и надстроек и заканчивая доработками ядра.
1С-Битрикс. Управление сайтом
«Управление сайтом» — это программный продукт, предназначенный для создания и управления интернет-магазинов, сайтов-визиток и т.д. Существует огромное количество редакций этого программного продукта, но все они предназначены для одной цели – создания сайта и дальнейшего его обслуживания (наполнения, редактирования и пр.).
Изначально «Битрикс» создавался как движок (CMS) для создания интернет-магазинов, а потому «Управление сайтом» имеет очень широкий перечень возможностей и богатый функционал. С другой стороны, всем богатством возможностей этого движка пользуются нечасто. Редко можно увидеть на битрикс-сайте несколько каталогов, практически не используются возможности маркетинга, так как для большинства интернет-магазинов не нужны все эти функции, но все же они имеются в числе возможностей программного продукта и при возникновении потребности их можно подключить в любой момент.
При создании интернет-магазина с использованием продукта «Управление сайтом» необходимо:
Важно! Система «1С-Битрикс. Управление сайтом» требует широкого перечня возможностей хостинга, некоторые хостинг-компании даже вводят специальные тарифные планы для «интернет-магазинов на Битрикс», это важно помнить при выборе хостинга и расчете стоимости поддержки сайта.
1С-Битрикс: Корпоративный портал
Корпоративный портал (англ. Enterprise portal) — это, в общем случае, веб-интерфейс для доступа сотрудника к корпоративным данным и приложениям. Википедия
1С-Битрикс: Корпоративный портал – это некая площадка, где собирается информация, информационный центр компании. Это многофункциональный продукт, где можно объединить информацию по самым разным направлениям. Например, бухгалтерские данные компания ведет в 1С. Бухгалтерии, движение товаров по складам и продажи – в 1С. Торговля и склад, работу с потенциальными и реальными клиентами – в CRM-системе, техническую поддержку осуществляют в специализированном сервисе поддержки клиентов.
А корпоративный портал позволяет вести все эти направления в одном месте, собирать данные для управленческой отчетности, получать общую развернутую картину работы компании с разных точек зрения. В чем-то корпоративный портал Битрикс напоминает швейцарский нож: никакой специализации у этого инструмента нет, но с его помощью можно выполнять самые разные действия, так как в составе продукта есть инструменты для реализации работы с клиентами, с пользователями, и многое другое, пусть и на минимальном уровне.
1С-Битрикс: Корпоративный портал позиционируется также как продукт, который позволяет руководителю контролировать весь рабочий процесс компании, для чего используется разнообразная отчетность, также руководитель может выставлять функции, например, начала и завершения рабочего дня, ставить перед подразделениями задачи (проекты), устанавливать для них сроки и основные этапы реализации. Также с порталом может быть интегрирована CRM-система, телефония, бухгалтерские, учетные программы и т.д.
Существует два продукта от компании Битрикс, предназначенных для корпоративной работы:
Отраслевые решения
Специализированные отраслевые решения – это система «Управление сайтом» со всеми имеющимися в базовой версии функциями, дополненная предустановленными надстройками для организации работы в той или иной отрасли. Например, такие решения очень популярны для организации работы медицинских учреждений, бюджетных организаций, образовательных учреждений и т.д.
Здесь уже имеются специальные анкеты для создания медицинской карты пациента или регистрации предпринимателя, плательщика налогов, будущего владельца недвижимости и т.д. и т.п. Реализованы варианты последовательности действий при записи на прием к специалисту, оплате государственной пошлины, счетов за услуги, а также другие модули, необходимые для создания удобного сайта для той или иной отрасли.
1С-Битрикс: Enterprise
Это решение, предназначенное для реализации крупных и сложных проектов, продается по очень высокой цене (от 1 499 900 руб.) Битрикс позиционирует этот продукт как решение для компаний, готовых максимально использовать возможности интернет и электронной коммерции. В продукт включены все существующие модули и надстройки и реализация самых разных возможностей, которые только можно представить. Разработчики утверждают, что продукт одновременно с огромным числом возможностей имеет также невероятную степень масштабируемости и гибкости и гарантируют расширенную техническую поддержку.
Стоит ли использовать столь дорогостоящий и мощный продукт, решать только вам. Некоторые крупные торговые сети успешно работают с этим решением, другие предпочитают реализовать работу на основе обычного функционала «Управления сайтом». Все зависит от масштабности проекта и востребованности того широкого перечня возможностей, которые предлагают разработчики за указанную выше цену.
Несколько слов о MarketPlace
При желании вы также можете также купить или скачать готовые решения для любого из программных продуктов через собственный магазин приложений 1С-Битрикс MarketPlace. Здесь выложено очень много разнообразных шаблонов, решений для интеграции с разными программными продуктами и системами, дополнительных модулей для реализации самых разных функций. Эти решения также поставляются с открытым кодом, т.е. при желании их можно доработать под собственные нужды. Но важно понимать, что после внесения любых изменений в код техническая поддержка для этих решений не предоставляется.
Важно: ядро Битрикс, как и ядро 1С, также регулярно нужно обновлять. Хоть эти обновления не столь критичны, как для программных продуктов 1С, но и здесь есть свои нюансы.
При обновлении ядра программного продукта любые надстройки и приложения из MarketPlace могут перестать работать, а потому после обновления понадобится повторное тестирование этих возможностей и, в случае необходимости, скачивание и установка для них обновлений отдельно. Также обновление становится недоступным или проблематичным в случае внесения изменений в код программного продукта.
Композитный сайт
Композитный сайт – это еще одна технология, которую активно рекламируют разработчики 1С-Битрикс. Они позиционируют композитные сайты как возможность объединить высокую скорость загрузки со всеми функциями современного динамичного сайта.
Как это работает:
Т.е. при первом обращении к композитному сайту проходит обычный вариант загрузки страницы
Из браузера пользователя к сайту на хостинге проходит обращение. Сайт формирует ответ, т.е. полноценную страницу вместе со всеми изображения и другими видами контента. Пользователь дожидается загрузки всей информации на компьютер и видит полноценную страницу.
Композитные сайты после этого большую часть страницы (изображения, видео, другую статичную информацию) сохраняют в кэше системы. И при повторном обращении учитывается наличие в кэше копии статичной части страницы, а потому формируется и передается только динамичная часть, остальное загружается из кэша. За счет этого скорость загрузки значительно возрастает.
Юзабилити продуктов 1С-Битрикс
Юзабилити программных продуктов Битрикс очень своеобразно. Изначально разработчики “Битрикс” для своей CMS применяли особый подход, во многом не совпадающий с другими популярными системами управления контентом сайтов. Количество возможностей, которые заложены в программные продукты Битрикс очень велико и с каждым релизом еще больше увеличивается. И если многие другие CMS устроены по принципу — есть небольшое и относительно простое ядро, к которому можно подключать самые разнообразные решения по мере необходимости, то Битрикс старается вложить в программный продукт “все и сразу”.
В результате наблюдается такое явление, как оверкодинг, в программных решениях “1С-Битрикс” слишком много кода и возможностей, которые чаще всего не используются. Это, в свою очередь, приводит к повышению сложности всей системы. Как итог, не только пользователям, но очень часто даже программистам сложно разобраться в юзабилити программных продуктов и понять, где какая возможность настраивается. К сожалению, этот недостаток является оборотной стороной мощных и многофункциональных решений, что важно учитывать при выборе продукта для создания сайта или корпоративной (совместной) работы.
Резюме
Программные продукты компании 1С-Битрикс – это очень мощные современные инструменты для создания сайтов, корпоративных порталов и мобильных приложений. Но надо понимать, что эти технологии — только один из вариантов решений, имеющихся на современном рынке. Битрикс имеет высокий уровень вхождения и определенную специфику. А потому прежде, чем принять решение об использовании того или иного программного продукта, очень важно ознакомиться с различными предложениями на рынке, а также посоветоваться со специалистами.
Из плюсов помимо перечисленных выше возможностей также стоит отметить, что программные продукты и вся документация русскоязычные, а также наличие множества партнерских решений для интеграции Битрикс с другими системами.
Минусами являются сложность программных продуктов для пользователей (самостоятельное администрирование сайтов сложно, а настройка без помощи специалистов практически невозможна), а также не самая доступная цена.
Работать или нет с этими программными решениями – личный выбор каждого. Я считаю, что даже для интеграции с 1С использование Битрикса не является необходимым, есть и другие методы организации обмена данных. С другой стороны, для сложных и крупных проектов эта мощная система с широкими возможностями может стать подходящим решением.