Что такое Headless CMS?
Впервые такой термин я встретил в 2016 году в блоге Дрис Бёйтарта The future of decoupled Drupal.
Традиционная («монолитная») и headless архитектуры.
Headless означает, что CMS отдаёт не готовый HTML, а только данные, обычно в JSON формате по средствам REST (или GraphQL). В упомянутой статье приводится синоним headless («безголовая») - decoupled («отделенная»).
Тренды
Тенденция генерации HTML на сервере идёт на спад. Современный тренд заключается в построении пользовательского интерфейса полностью на стороне клиента (в браузере). В этом случае HTML создаётся с помощью JavaScript из JSON данных, полученных с сервера. Такие приложения называются одностраничными. Вторым трендом можно назвать развитие конструкторов сайтов и таких площадок как medium.
Традиционные CMS, такие как Drupal или WordPress, имеют функции ядра для организации headless архитектуры. JSON данные постов lifehacker (работающего на wordpress) выглядят так в сравнении с обычной версией. Существуют специализированные headless cms такие как strapi или ghost.
Причины появления и преимущества:
- Желание отделить данные от представления так, чтобы команды frontend'a и backend'a могли работать независимо друг от друга.
- Редакторы и маркетологи ищут решения, которые могут предоставлять контент для растущего списка каналов, включая веб-сайты, одностраничные приложения, нативные приложения для телефонов, сервисные системы, чат-боты, а также носимые устройства (часы, фитнес-браслеты, пульсометры), IoT, устройства с голосовым управлением.
Вместо заключения
На мой взгляд headless cms не заменят традиционные cms. Их роль останется в создании источника данных для различных каналов. Значительная часть рынка традиционных cms будут заменена тильдой, медиумом и соцсетями.