Обзоры

» » Плюсы и минусы использования Headless CMS

Плюсы и минусы использования Headless CMS

Headless (они же decoupled) CMS – это не название конкретного движка сайта, а условное обозначение целого класса CMS-систем, которые позволяют управлять контентом одновременно в нескольких вариантах интерфейса у одного интернет-сервиса.

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

Хотя сейчас многие крупнейшие CMS-системы, такие как Drupal, Joomla, WordPress и другие, уже реализовали поддержку API, необходимого для подключения внешних интерфейсов. Их тоже можно было бы назвать «Headless», но термин принято соотносить в основном с теми движками, которые изначально разрабатывались под работу с программными интерфейсами, а не со штатными шаблонами.

Читайте также:  Что такое Headless CMS + рейтинг лучших.

Зачем всё это?

Если дословно перевести название, то это «безголовая» система управления контентом. «Головой в данном случае web-разработчики называют фронтенд, то есть ту часть информационной системы, с которой взаимодействует пользователь.

В качестве такого интерфейса может выступать страница web-сайта, универсальное (кроссплатформенное) web-приложение или нативный клиент для выбранной платформы, чаще всего мобильной (Android или iOS).

Современные сайты уже не могут просто существовать самостоятельно, особенно, если это средний или крупный коммерческий проект.

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

Поэтому владелец сервиса вынужден создавать и обслуживать множество независимых интерфейсов. А чем их больше, тем больше проблем. И проблемы не только технического плана, а больше организационные: какой контент и где размещать, как его оформлять, редактировать, согласовывать…

Вот как раз для этих задач и применяют «безголовые» CMS. Они позволяют централизованно работать с контентом всех ваших интерфейсов.


Чем отличаются Headless CMS

Начнём с того, что все «безголовые» CMS рассчитаны в первую очередь на разработчиков и определённый подход в построении проектов, его ещё называют Jamstack. То есть, чтобы правильно подобрать CMS для своих имеющихся или будущих интерфейсов, нужно:

  • Проверить и убедиться в поддержке нужных типов API. Это могут быть актуальные на текущий момент стандарты GraphQL, RESTful или даже Git-хранилища. Некоторые CMS позволяют гибко настроить произвольный формат API.

  • Выбрать тип размещения CMS. Например, некоторым проектам принципиально, чтобы движок работал на их территории, то есть на собственном сервере (в выбранном дата-центре или локально где-то в офисе компании). А некоторым важна гарантированная стабильность и коммерческая поддержка, поэтому все технические вопросы сопровождения CMS легче отдать владельцу сервиса на аутсорс и пусть движок работает как служба (SaaS-модель с конкретными показателями SLA и ответственностью провайдера).

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

На самом деле нюансов очень много.

Плюсы Headless CMS

Понятно, что Headless CMS – это группа программных решений, а не какое-то конкретное, поэтому и сравнивать возможности таких CMS-систем можно только с общими возможностями других видов CMS, например, классических, со штатным/предустановленным интерфейсом.

К наиболее важным преимуществам «безголовых» CMS можно отнести следующие пункты:

  • Омниканальность. Вы можете подключать к своему движку столько интерфейсов, сколько вам нужно. И неважно на чём и как они работают, главное, чтобы интерфейс мог обрабатывать запросы по API.

  • Отличная гибкость. Вы можете писать свой сайт или приложение в нативной среде или на любом удобном вам языке программирования, в любой среде разработки и т.д. Никто и никак вас не ограничивает. Настраивайте вашу работу и работу вашей команды так, как вам это нужно. Headless CMS легко адаптируется под ваши требования.

  • Оптимизация внедрения. Уже имеющихся специалистов не придётся переучивать для работы с новым инструментом. Те, кто занимался работой с сайтом или работой с мобильными/web-приложениями, могут продолжать ими заниматься. Достаточно только организовать обмен данными по API. А API будет для всех единым. Соответственно, расходы на внедрение/переход будут минимальными.

  • Готовность к масштабированию. Наиболее важным этот аспект становится при работе высоконагруженных проектов. Все Headless CMS изначально создаются как инструменты для корпоративной разработки, они сразу рассчитаны на запуск внутри виртуальных контейнеров или в облачной среде. Отделение «головы» (интерфейса, фронтенда) от бэкенда и использование API облегчает децентрализацию и балансировку нагрузки. Ваши проекты смогут расти, не упираясь в лимиты, как с классическими «монолитными» CMS.

  • Повышенная устойчивость к классическим видам атак, свойственным для «монолитных» CMS-систем. Headless-архитектура работает по-другому – в качестве фронтенда может выступать статический сайт или контент на серверах CDN. «Статику» взломать невозможно, а крупные CDN-провайдеры хорошо справляются с DDoS-атаками.

  • Вы можете арендовать Headless CMS как услугу – в готовом облаке, с официальными гарантиями и высокой производительностью.



Минусы Headless CMS

Понятно, что очень много технических аспектов будет зависеть от конкретной реализации CMS. К общим недостаткам Headless CMS можно отнести следующие моменты:

  • Пока все существующие движки рассчитаны преимущественно на западный рынок и рынок США. Для внедрения в российских командах потребуется объёмный пласт доработок и адаптаций.

  • Headless/decoupled CMS – это инструменты профессионалов. Вряд ли у вас самостоятельно получится настроить обмен данными по API. Для этого нужны профильные знания или услуги специалистов.

  • Внедрение «безголовых» CMS оправдано только внутри крупных проектов, у которых предполагается сразу несколько интерфейсов взаимодействия с пользователями.

  • Для работы таких систем управления нужен специальный хостинг – облачная инфраструктура или виртуальный/выделенный сервер. А это более высокие расходы в сравнении с общим (shared) хостингом.

  • Для существующих Headless CMS пока очень мало готовых расширений. Кроме того, некоторые «безголовые» движки вообще не имеют каталогов с плагинами. Да и зачем, если интеграции с внешними сервисами и функциями легко реализуются с помощью API.

  • Для перехода на «безголовую» CMS придётся много что переделать. Не каждый проект сможет потянуть такой объём работ по бюджету.



Стоит ли использовать Headless CMS в своих проектах

Конечно стоит. Но нужно понимать, что это специфический инструмент для определённого круга задач. Если у вас стандартный блог или даже небольшой интернет-магазин – проще и дешевле использовать классический движок, такой как WordPress или Joomla. В некоторых случаях, для более крупных проектов и там, где много нестандартного функционала, разумно обеспечить запуск на базе популярных фреймворков или CMF, к последним, например, относится Drupal.

Но если у вас много интерфейсов для взаимодействия с пользователями, ваш проект изначально предполагает работу под большими нагрузками, то без Headless CMS никак не обойтись. Такие движки упростят работу с контентом и обеспечат лёгкое масштабирование. Но нужно позаботиться о детальной проработке архитектуры и API.

Остались вопросы? Задавайте их в комментарии, и мы постараемся ответить на них.

iphone 13