Зачем мы подружили Битрикс и Symfony

Мы долгое время работали с Java и нашей CMS Mozart. Но когда рынок заказной разработки веб-приложений и сервисов стал переходить на Битрикс, последовали за ним. Тем более — этого требовали клиенты.

Зачем мы подружили Битрикс и Symfony

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

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

Почему Symfony?

— бурно развивающееся сообщество;

— большое количество слабо связанных компонентов;

— аннотации;

— нам нравится этот фреймворк.

У нас уже был большой опыт работы с этим фреймворком, и до этого мы внедряли консоль Symfony в свои битрикс-проекты. А месяц назад и сам Битрикс сделал то же самое :)

Нам нравится этот фреймворк: у него есть большое сообщество и множество слабо связанных компонентов.

Зачем мы подружили Битрикс и Symfony

Внедрение начали с отдельных компонентов. Но не остановились на этом. Логичным развитием технологии стала интеграция роутинга Symfony и Symfony HttpFoundation, чтобы сделать полноценный REST AJAX-контролер.

Зачем мы подружили Битрикс и Symfony

Половина дела была позади. Оставалось связать два приложения между собой, а дальше постепенно уменьшать их связанность. Что мы и сделали.

В результате:

— за счет автоматического тестирования мы свели к минимуму количество регрессионных багов;

— каталог Elasticsearch с фильтрацией и поиском, работающий быстрее стандартного и позволяющий реализовывать самые изощренные сортировки и поиск;

— большое количество решений для ecommerce для быстрой сборки проектов, требующих только конфигурирования;

— полноценный мониторинг технических и бизнес-показателей проектов;

— все управление сайтом осуществляется из административной панели Битрикс;

— сохранена полная функциональность системы;

— упростили мониторинг (в том числе и бизнес-показателей).

Теперь увеличена скорость разработки новых проектов и поддержки существующих и развернуто единообразное и контролируемое CI/CD.

И мы продолжаем развивать систему :)

2
4 комментария