Взгляд программиста на движок для сайтов «Битрикс»

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

Философия

Движок может хранить несколько шаблонов, один из них используется для сайта. Структурной частью является компонент — блок с разметкой данных, подключаемый в коде сайта; с собственными стилями, js-скриптами, собственно отображением, может использоваться PHP. Логика подключения компонент основана на использовании файловой системы. 

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

Есть понятие страниц. В каждой странице есть рабочая область — изменяемое место. Компоненты подключаются либо в шаблоне, либо в рабочей области. Инфоблок к компоненту можно подключить либо при подключении компонента, либо в самом компоненте с помощью PHP с использованием оболочки Битрикса.

Сюда же добавлю, что Битрикс — это движок, написанный на PHP и в нем можно использовать PHP в любом месте php-файла. Правда, это желательно делать через админку — CMS добавляет к коду небольшую оболочку. 

Я это добавил из-за того, что нашел несколько, по своему характеру негативных, отзывов о CMS «1С-Битрикс», в которых критикуется язык 1С. «1С» присутствует в названии из-за того, что на постсоветском пространстве движок продвигается в тандеме компаний Битрикс и 1С (ключевой продукт — «1С: Бухгалтерия» — самая популярная система бухучета на территории стран СНГ).

Документация

Документация, откровенно говоря, слабая. У меня создалось впечатление, что она писалась не отделом разработки, а отделом маркетинга. Я вовсе не хочу обидеть отдел маркетинга Битрикса, просто в технической документации слишком много текста о крутости движка.

Битрикс имеет несколько отдельных документаций (я нашел три). Старая по объему больше, чем новая. 

Я не смог найти ссылки на документации на сайте Битрикса, потому делал это с помощью Яндекса. Не говорю, что ссылку на документацию специально спрятали на сайте Битрикса — просто я решил, что с помощью Яндекса будет проще.

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

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

Хоть я и не люблю видеоуроков, мне пришлось их искать, так как это самый простой способ защититься от ошибок, связанных с работой с новой системой. К сожалению, по уровню видеоуроки достаточно слабые. Тут же объясню и то, почему слабые, и то, как используются инфоблоки в компонентах некоторыми разработчиками — через визуальный интерфейс копируется шаблон блока новости или другого CRUD-раздела и изменяется.

В движке есть много неочевидных моментов. Как пример приведу, что компоненты объявляются с помощью PHP, но их нужно прописывать в отдельных скобках PHP.

Обзор отношений программистов к движку

На «ХабраХабре» комьюнити не сильно любит движок. Достаточно много статей-обзоров минусуются. Потерял источник, но очень точная фраза «Маркетинг не соответствует документации».

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

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

Отношения предпринимателей к движку

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

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

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

Баги

Опять же, в сети много обсуждений на эту тему. Резюмируя, они есть. Потому нужно подписываться на поддержку.

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

Компания, как я уже говорил, проводит много мероприятий с полезным контентом. Я был на одном из них. Первым выступал представитель Битрикса, вторым — их клиент (с очень крутым кейсом, к слову). Там было около 6-8 выступлений и, само собой, был регламент. Представитель компании (в частности, из-за вопросов) достаточно ощутимо занял время у второго докладчика, а после того, как в зале не было ни одно поднятой руки, задал вопрос «У вас еще есть вопросы?». 

Второй докладчик сидел передо мной и я видел всю его ярость. И он задал вопрос: «Когда у вас не будет багов в движке? Мы уже 5 лет пользуемся вашим движком и в каждом обновлении есть куча багов — разве так сложно протестировать?» Произнесенный спокойным тоном, ответ был не менее ошарашивающим: «Ну если мы не будем часто выпускать свои обновления, то о нас забудут. А так мы выпустили продукт, разработчики нашли баги, мы их получили и в следующем обновлении исправили»

Производительность

Серверная сторона

Серверная сторона генерирует страницы в адекватном диапазоне (по крайней мере в последних версиях). Но, наверное, чтобы не рисковать, лучше сразу выбирать хостинг, заточенный именно под Битрикс. По комментариям и исследованиям в Сети, движок достаточно сильно нагружает сервер. Честно говоря, не могу дать более конкретный комментарий.

Композитный сайт

У CMS есть технология композитного сайта. В теории это закешированный серверный код. Что на практике — не понятно. Можете перейти к официальному описанию Битрикса: http://www.1c-bitrix.ru/composite/

И честность компании просто зашкаливает: на странице есть раздел «Динамика загрузки страницы», в котором визуализирована скорость загрузки страницы. Подано диаграммой Ганта, которая состоит из 4-х строк: HTML, CSS, JavaScript, Изображения. Занимательно, правда, другое: по их словам, обычный битриксовский сайт грузиться 2.5 – 4.5 сек, композитный — 0.2 – 0.4 (да, да: это с учетом изображений). 

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

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

Клиентская часть

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

Битрикс выводит основные скрипты в разделе <head> (для тех кто не в теме — считайте, что это просто увеличивает время отображения страницы). И скриптов там более, чем достаточно. Самое досадное это то, что архитектура движка создает много сложностей для того, чтобы frontend-разработчик смог оптимизировать сайт — движок компилирует стили и скрипты, собирая их с компонентов.

Продажи

Скорость загрузки страниц влияет на конверсию. О скорости я писал выше.

Битрикс имеет хорошие плагины для аналитики.

Движок использует подходы BigData для увеличения количества продаж. Это работает примерно так: когда человек заходит на сайт, работающий на Битриксе, сайт отдает серверу компании 1С-Битрикс информацию о том, какими товарами интересовался человек. Это дает возможность предположить, что человек хочет купить. 

После того, как сервер Битрикса предположил, что нужно человеку, и генерирует на сайте рекомендацию этого товара при последующих заходах на сайт. Правда есть один нюанс: это действует для всех сайтов, работающих в этой системе. То есть, если человек смотрел телевизор Samsung 40" в одном магазине, то его предложат купить и в другом магазине. 

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

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

Эта функция появилась в последних версиях (в начале 2015 года). Она устанавливается по-умолчанию, но может быть отключена в настройках.

Панель управления (админка)

Битрикс построен на файлах. Битрикс дополняет код файлов компонентов, измененных разработчиком. Потому разработчик должен работать через админку. Редактор в файловом менеджере не очень удобный (нет преимуществ редактирования в IDE), медленный поиск по файлам. Пути к файлам очень длинные, неудобная навигация. 

Вся логика работы с БД изменяется через панель управления. Разработчик может добавлять и редактировать компоненты с помощью визуального интерфейса на сайте.

Администраторская часть для администратора и контент-менеджера одна — редактор сайта имеет ненужные возможности.

Контент-менеджер должен сделать 5 кликов для того, чтобы отредактировать товар. В обычных CMS это занимает 2-3 клика. 

Преимущества

  1. Возможность сделать сайт быстро — базовые знания движка и PHP позволяют быстро создать сайт и интегрировать верстку в движок. Обозначу, что достаточно ощутимый плюс для разработчиков.
  2. Возможность быстро изучить основы движка
  3. Хорошая система сбора аналитических данных

Недостатки

  1. Сложно сделать сайт быстрым
  2. Сложно изучать детали движка
  3. Странная архитектура и много сленга
  4. Требовательный к ресурсам сервера
  5. Безопасность (ради справедливости добавлю, что обновления, касающиеся исправления дыр в безопасности будут предоставляться совершенно бесплатно)
  6. Неудобная панель управления
  7. Отсутствие полноценной документации для продвинутого использования

Примечание: по сравнению с тем, что можно найти в Интернете, в списке преимуществ и недостатков я не упомянул интеграцию с 1С-Бухгалтерия (для любых других CMS можно найти плагины интеграции), базовые технические возможности, наличие разработчиков, которые знают движок (а не используют для работы обходные пути), стоимость движка (версия для Интернет-магазина стоит около $700 — эта цифра действительно беспокоит начинающих предпринимателей; если вы принадлежите к этой категории, тогда, вероятнее всего, вам нужен бесплатный движок для Интернет-магазина, который в состоянии установить практически любой человек, использующий поисковые системы), некоторым административная панель кажется удобной (для разработчика это абсолютный бред, а для контент-менеджера... он должен потратить 5 кликов, чтобы открыть страницу редактирования товара, хотя можно сделать и в 2 клика)

Резюмируя

Если вы студия, продающая шаблонные сайты, Битрикс — хороший вариант. 

Если вы студия, продающая шаблонные прям очень дешевые сайты, найдите бесплатное решение.

Если вы дизайнерское агенство, Битрикс — неплохой вариант.

Если вас поджимает дедлайн, Битрикс — неплохой вариант при условии его знания.

Если вы начинающий предприниматель, Битрикс — неплохой вариант.

Если вы опытный предприниматель, действуйте на свое усмотрение.

Если вы хотите открыть большой онлайн-магазин, Битрикс — плохой вариант.

Если вы хотите разработать технологическое решение, Битрикс не подходит вообще.

Если вы хотите изучать программирование, Битрикс — не лучшее начало.

Этот момент прослеживался по всему тексту статьи: я негативно отношусь к уровню честности компании.

Поделиться в соцсетях: Вконтакте Facebook Twitter Mail.ru Google plus
Комментарии:
Подождите, пожалуйста. Загружаются комментарии...