Headless Drupal - все, что вам нужно знать

Опубликовано: 2020-07-24

Сегодня пользовательский опыт (UX) - это не только то, что пользователь чувствует при взаимодействии с вашим сайтом. В этом мире быстрорастущих интерфейсов и API контент играет важнейшую роль, предлагая вашим пользователям исключительный UX. Чтобы идти в ногу со временем, вам необходимо внедрить популярные и быстро развивающиеся интерфейсные технологии, такие как Angular JS, React JS и т. Д., Которые могут доставлять ваш контент с такой же скоростью, как у приложений.

Безголовый Drupal (или разделенный Drupal) - один из таких подходов, который набирает большую популярность из-за своей инновационной способности предоставлять выдающийся цифровой опыт. Такие большие шишки, как Weather.com, The Tonight Show, Great Wolf Resorts, Warner Music Group и многие другие, пошли по безголому маршруту Drupal, предлагая своим клиентам интерактивный и уникальный интерфейсный дизайн и быстро загружаемые веб-сайты. Благодаря приверженности Drupal 8 архитектуре, ориентированной на API, контент можно использовать и отображать где угодно.

Что такое Headless CMS?

безголовый друпал


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

Что такое безголовый / развязанный Drupal?

Традиционно сайты Drupal предназначены для многозадачности. Это означает, что Drupal управляет как внутренним управлением контентом, так и внешним рендерингом контента. Нет сомнений в том, что Drupal CMS сама по себе может предоставить конечному пользователю богатый пользовательский опыт, но когда дело доходит до мгновенных ответов на запрос, беспрепятственно доставляя контент в разные интерфейсы, этого не хватает. В развязанной архитектуре Drupal вместо уровня темы Drupal используется клиентская структура, такая как AngularJS, React или Backbone.JS. Пользовательский запрос не обязательно должен обрабатываться сервером все время, что может значительно улучшить скорость и UX вашего сайта Drupal.

Архитектура Drupal 8, ориентированная на API, сделала свой первый шаг, представив REST API в ядре (Drupal 8.0). Однако у него был свой набор проблем (установка и использование). С тех пор было внесено много улучшений в обеспечение более эффективных веб-сервисов RESTful и не-RESTful, таких как JSON-API и GraphQL.

С технической точки зрения, веб-сайт Drupal без заголовка отправляет данные в форматах HTTP / JSON. Мощный интерфейсный интерфейс UI обрабатывает эти данные и предоставляет веб-страницу.

Безголовый-Drupal

Категоризация разделенного Drupal

В традиционной архитектуре CMS Drupal браузер вызывает запрос, который обрабатывается логикой PHP, которая затем отображает HTML и отправляет его обратно в браузер. Конечно, разработчик может встроить Javascript для некоторых улучшений на стороне клиента, но это может привести к ситуации, когда разные клиентские платформы используются для разных модулей. Таким образом, это чрезвычайно сложная система.

Прогрессивная развязка

Если вы хотите сохранить свой уровень Drupal Theme и при этом иметь возможность мгновенно реагировать на запросы браузера, подход Progressive Decoupling - ваш лучший шаг. Здесь вы можете съесть свой торт и съесть его! Первоначальное состояние приложения визуализируется Drupal, которым затем можно управлять с помощью кодирования на стороне клиента. Модули могут быть написаны на PHP или Javascript, в то время как вы можете воспользоваться мощными преимуществами производительности Drupal.

Эта версия независимого Drupal позволяет контекстуализированным интерфейсам, рабочему процессу контента, предварительному просмотру сайта и другим функциям оставаться пригодными для использования и интегрироваться с Drupal в целом. В то время как редакторы контента и сборщики сайтов чувствуют себя как дома с этой независимой версией Drupal, она также позволяет разработчикам интерфейса работать с собственной скоростью, сохраняя при этом разблокировку сборщиков сайта, путем выделения части страницы фреймворку JavaScript.

Короче говоря, постепенно развязанный Drupal предлагает подход, который отлично справляется с достижением идеального баланса между редакционными потребностями, такими как управление компоновкой, и желанием разработчика использовать больше JavaScript.

развязка drupal

График, показывающий прогрессивный спектр развязки для этих примеров - Источник - Acquia

Полностью развязанная архитектура

А затем есть полная развязка, когда уровень представления Drupal полностью заменяется клиентской структурой. Эта версия несвязанной CMS обеспечивает непрерывный рабочий процесс, поскольку клиентская платформа также действует как предварительный рендеринг на стороне сервера. Drupal CMS используется исключительно как репозиторий контента, который заботится обо всем закулисном джазе. Когда вы полностью игнорируете функциональность тем Drupal, вы также теряете некоторые эффективные преимущества в производительности, которые предоставляет Drupal. Также необходимо будет провести большую перестройку, чтобы полностью разделить административный интерфейс и интерфейсную часть веб-сайта Drupal. Использование Javascript на стороне сервера также усложняет требования к инфраструктуре.

В то время как полностью разделенная архитектура Drupal привлекает больше внимания в последние годы, поскольку рост JavaScript не показывает никаких признаков замедления, она включает разделение проблем между структурой вашего контента и его представлением. В общем, создание полностью изолированной системы Drupal похоже на рассмотрение вашего веб-опыта как отдельного приложения, которое должно обслуживать контент.

Какое решение Drupal с развязкой лучше всего подходит для вас?

Традиционно Drupal CMS предназначена как для управления контентом, так и для визуализации интерфейса для всего веб-сайта. Сильное давление, тебе не кажется? Эксперты по Drupal считают, что сильные стороны Drupal заключаются в мощности и гибкости его серверной части и что он должен быть в первую очередь ориентирован на сервисы, а не на HTML. Разделение Drupal означает, что некоторая другая система может управлять интерфейсом, в то время как Drupal заботится о внутренней системе. Вы спросите, почему развязать Drupal - хорошая идея?

Если вы хотите внедрить передовые и современные интерфейсные технологии, которые Drupal не может предоставить, вам понадобится мощный интерфейсный фреймворк, такой как React JS или Angular JS. Используя безголовый подход к Drupal, вы можете иметь все это и при этом поддерживать надежную внутреннюю часть Drupal CMS.

  • Благодаря архитектуре Headless Drupal вы можете «написать один раз и публиковать везде». Эта система позволяет редакторам контента, маркетологам и владельцам бизнеса создавать контент один раз и беспрепятственно доставлять его на несколько интерфейсов.
  • С отделенной CMS отделение внешнего интерфейса от внутренней системы управления контентом обеспечит большую гибкость и эффективность модели контента Drupal. Точно так же, как делегирование работы снижает вашу рабочую нагрузку и увеличивает продуктивность.
  • Многоуровневая архитектура способствует созданию более безопасной системы. Администраторы сайта могут ограничивать доступ к различным областям инфраструктуры.
  • Headless Drupal позволяет интерфейсным разработчикам иметь полный контроль над презентацией, дизайном пользовательского интерфейса и пользовательским интерфейсом веб-сайта. Сочетание отличной клиентской среды и опытного интерфейсного разработчика может предоставить вам веб-сайт с богатым, быстрым, похожим на приложения пользовательским интерфейсом и бесшовной интерактивностью.
  • Интеграция со сторонними приложениями проще и эффективнее с моделью Drupal без головы.
  • И интерфейсные, и внутренние разработчики могут работать независимо, что может обеспечить эффективную и быструю реализацию проекта.
  • Если вы хотите изменить дизайн своего веб-сайта, вам не придется заново внедрять свою Drupal CMS. Точно так же обновление вашей серверной системы может быть выполнено без изменения вашего внешнего интерфейса.

Подойдет ли безголовый Drupal?

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

  • Такие сайты, как новостные сайты или блоги, которые на самом деле не нуждаются в особом взаимодействии с пользователем, не получат выгоды от разделения своего сайта Drupal.
  • Когда вы выбираете полностью изолированную архитектуру Drupal для своего веб-сайта, вы отказываетесь от некоторых основных (и бесплатных) функций, которые входят в состав слоя темы Drupal, таких как размещение блоков, управление макетом и отображением, предварительный просмотр контента, локализация пользовательского интерфейса, функции безопасности, такие как межсайтовый скриптинг (XSS) и т. д. Некоторые из них не могут быть воспроизведены клиентской средой.
  • Если бюджет является проблемой, вам нужно помнить о цене, которую вам придется выложить для опытных разработчиков интерфейса. Также стоимость восстановления отсутствующей (в остальном свободно доступной) функции Drupal с нуля.

Кто использует Headless Drupal?

Многие ведущие предприятия успешно применили безголовый подход к Drupal! Их веб-сайты быстро загружаются и предлагают пользователям интерактивные возможности на всех устройствах и интерфейсах. Некоторые примеры -

  • Вечернее шоу с Джимми Фэллоном - использует Backbone.js и Node.js для интерфейса
  • Weather [точка] com - использует Angular.js для интерфейса.
  • Great Wolf Resorts - использует фреймворк CoffeeScript и Spine
  • EC Red Bull Salzburg - использует Angular.js для интерфейса
  • Warner Music Group - использует Angular.js для интерфейса

… И многое другое в этом списке.