До Битрикса я на нескольких проектах использовал GraphQL. По сравнению с REST обладает большей гибкостью. Вопрос что лучше может вызвать религиозные войны, поэтому опишу свой опыт с практическими примерами. Наверное каждый второй разработчик на Битриксе, а может просто каждый, писал скрипты для ajax запросов, на коленке, чтоб работало здесь и сейчас. В больших системах эти скрипты превращаются в снежный ком. Сопровождать такие системы очень сложно. Кто-то использовал встроенный механизм ajax контроллеров Битрикса. Отдельные гении осилили встроенный REST API. На данный момент мне кажется он больше подходит для внутренних нужд, для обмена между своими приложениями. Я решил написать модуль реализующий GraphQL API на базе graphql-php. Отличная библиотека! На данный момент мой модуль умеет: Указанного выше достаточно для работы контентного сайта, типа моего бложика. Пример запроса: {
iblock {
blog {
getElement(code: "graphql-api-dlya-bitriksa"){
id
name