В данное время занимаюсь разработкой первого сайта на Битриксе для заказчика, и во время работы появляется множество заметок. Это одна из них. Текущий проект — мой второй практический опыт создания сайта на Битриксе, поэтому заметки об этой системе могут быть не точны. Да и первый был недавно, всего неделю назад — адаптировал простенький бесплатный html-шаблон для пробы сил.
Особенности разработки
Битрикс — это компонентная CMS, причем компонентов настолько много, что практически на все типовые ситуации находится подходящее решение. Если функционал типичен, то все хорошо, иначе придется долго колдовать над кодом. Даже если необходимо добавить единственное поле в одну из стандартных форм, а встроенного генератора полей форм не предусмотрено, то «пиши пропало».
Если стандартный функционал немного отличается от требуемого заказчику, то, как я вычитал на форуме Битрикс-разработчиков, «если не подходит стандартный компонент, то лучше поищи другой :)». И, похоже, это правда. Хоть мне и попался относительно стандартный сайт, за сложный я бы не взялся на новой для себя системе, все равно приходится делать нестандартные элементы и эта работа довольно тяжела.
Две трети работы над сайтом выглядит следующим образом: создаем страницу или раздел (раздел это та же страница, но в отдельной директории), набрасываем на страницу желаемые стандартные компоненты, копируем эти компоненты в директорию «../local/templates/ID_ШАБЛОНА» и меняем текущий дизайн на дизайн из нашей верстки. На этом собственно все.
Исходники
Исходный код, мягко сказать, оставляет желать лучшего. Это относится и к стороннему коду и к «ядру» системы. Даже в документации вам четко дают понять, что никакой красоты кода, поддерживаемости, да и просто удобства ждать не стоит.
Вот забавная вещь из документации:
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&CHAPTER_ID=04775
Не хотел бы я поддерживать сайт разработчика с такими изречениями и убеждениями 🙂 Почти любой опытный разработчик в ответ на такое скажет, что стандарты кодирования, архитектура, тестирование (модульное/функциональное), шаблоны проектирования и все с этим связанное упрощает и удешевляет поддержку проекта. Думаю «синьёры» и «мидлы», создающие и поддерживающие большие проекты с длинным жизненным циклом, меня поймут. Хотя, ради справедливости, нужно сказать, что подобный подход справедлив для маленьких проектов с несколькими страничками, например, для блогов, корпоративных сайтов и небольших магазинов. В таких проектах вы сможете обойтись, опять же, стандартными компонентами без необходимости править функционал, все что вам нужно сделать — это подогнать оформление под запросы заказчика.
До своего знакомства с Битриксом я слышал множество плохих отзывов о нем и теперь мне ясно на чем они основаны. Плохой код (взять хотя бы вызов компонента списка новостей «bitrix:news.list» с 50 параметрами или ключи массивов опций в верхнем регистре) и устаревшая архитектура. Эта архитектура была создана где-то в 2000-х, что, естественно, создает большие проблемы. Исправить недостатки имеющейся архитектуры уже навряд ли удастся, так как разработчики обязаны поддерживать весь устаревший функционал и подходы к разработке 20 летней давности. Это сложно.
Не спешите закидывать Битрикс гнилыми помидорами. Эта CMS имеет и плюсы. Кодить под неё не очень удобно, это правда, но и положительные стороны тоже есть.
Когда и почему используется Битрикс
Битрикс имеет приятные черты, как для заказчиков, так и для разработчиков. Для заказчиков это готовые и относительно надежные типовые решения, наличие официальной техподдержки и компании с которой можно иметь дело. Для разработчиков же есть огромное количество стандартных компонентов, возможность быстро создавать типовые сайты и самый главный плюс — деньги. Деньги при работе с Битриксом это главный момент. За разработку на данной системе порою запрашиваются реально космические суммы.
Из общения со знакомыми менеджерами проектов я вынес, что за простую визитку просят шестизначные суммы, а при заказе средних и крупных сайтов из полученных гонораров можно дороги выкладывать. Рекламщики Битрикса настолько сильно раздули мифы о нем среди денежных потребителей (в основном директоров и менеджеров крупных компаний, банков и т.д.), что шансы заработать в несколько раз больше за пустяковую работу сильно повышаются. Понятное дело, если заказчик хорошо разбирается в веб-разработке, то он только улыбнется в ответ на обещания невиданного функционала, быстродействия и надежности Битрикса, но таких не много.
Мне иногда попадаются заказчики с жесткой установкой на работу с Битриксом и объяснить им что-то не представляется возможным. Как я уже написал выше, пиарщики Битрикса успешно «пудрят» мозги всем подряд и тягаться с ними сложно. Рынок веб-разработки такой-же рынок как все остальные, кто лучше расхваливает свой продукт, тот и продает больше. Похоже все так как и должно быть 🙁
Особенности редакций Битрикса
В самом начале работы над сайтом под управлением Битрикса нужно внимательно выбирать подходящую вам редакцию. При создании сайта я наткнулся на очень неприятные грабли. Для заказа мной была выбрана редакция «Старт», так как функционал прост донельзя. Выполнив, приблизительно, половину работы, я удивился когда дело дошло до создания нескольких нестандартных форм. Оказывается, в начальной версии Битрикса нельзя создавать формы «стандартным» образом, так как в этой начальной версии вырезана такая возможность. Хочешь создать парочку форм из нескольких полей (по сути десяток строк кода) стандартным для Битрикса способом, плати дополнительно 10 500 рублей («Старт» стоит 5 400р., а «Стандарт» 15 900р. на момент написания этого поста). Опять же, так как это мой первый реальный проект на этой CMS я стал гуглить, может быть что-то не так понял или не туда посмотрел. Оказалось так и есть, другие разработчики тоже недовольны такой ситуацией, но пока владельцы Битрикса не хотят реагировать.
Большой совет новичкам в Битриксе: проконсультируйтесь с опытным разработчиком перед выбором версии этой CMS, иначе позже, возможно, придется возиться с её обновлением.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.