@colobot

Можно ли использовать Битрикс как headless CMS?

Есть несколько проектов на Битриксе, которые долго и дорого полностью переносить на другую платформу. Но поддерживать фронтенд внутри Битрикса уже совершенно нет сил. Хочется перейти на React или Vue.
Возможно ли, чтобы Битрикс только отдавал фронтенду данные через API, а весь фронтенд был бы реализован совершенно отдельно на React/Vue?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 4
xzdshr
@xzdshr
Знаю один такой проект. Использовать Битрикс как JSON API конечно можно, но столкнетесь с большим ворохом проблем и неудобств. Все-таки он под это не подразумевался.
В первую очередь желательно отказаться от всяких битриксовых кешей, композитов и прочего. В идеале вообще полностью отказаться от компонентов и все пилить самостоятельно с использованием D7.
В целом как-то так: если проекты долго и дорого переносить на нормальные фреймворки, то переносить фронт на React/Vue возможно, но тоже сложно.
Ответ написан
megafax
@megafax
web-программист
Да, возможно, только всю прослойку API Вам самостоятельно придется писать, используя внутреннее битриксовое.
Ответ написан
Как уже отметили так сделать можно, например через прослойку. Но так же можно обойтись без неё, просто подключать служебные части пролога и эпилога, т.е. без шаблонов. Получится полностью использовать всё апи битрикса, а фронтенд будет отдельно. Сложно подробнее ответить на вопрос, т.к. он сформулирован слишком широко.
Ответ написан
gromdron
@gromdron
Bitrix developer
С выходом нового d7 подхода к построению компонентов (так-называемые Engine\Controller) вы сможете использовать любой фронт-энд и довольно просто вызывать методы вашего компонента.

Например: у вас есть компонент reviews в пространстве имет colobot.
Соответственно у него есть action: getList (function getListAction).
Для того чтобы отправить запрос и получить ответ можно будет использовать конструкцию вроде:

BX.ajax.runComponentAction('colobot:reviews::getList',{
	// .. параметры которые будут отправлены в метод getListAction
	// компонента reviews в пространстве имен colobot
}).then(function(){
	// .. полезные действия
});


Но как уже указали коллеги Выше - можно, но API придется писать самим (в БУСе его пока нет)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы