Что такое CMS Strapi и как ее применять?
Исторически так сложилось, что самые популярные CMS написаны на языке PHP. К примеру, Битрикс, CS-Cart, Joomla, Drupal, и всеми любимый Wordpress. Но, как известно, JS постепенно захватывает мир, поэтому появляется все больше CMS, написанных на JS
Одна из них - Strapi. Эта CMS появилась в 2015 году благодаря стараниям трех французских программистов. Через год над системой работала уже целая команда. В данный момент Strapi очень быстро развивается, расширяя функционал и предлагая новые фичи.
Название Strapi - это сложение двух слов: bootstrap и API. Bootstrap, в данном случае, не известный фреймворк, а “самозапускающийся процесс”. Для Strapi это означает минимум усилий по его запуску.
А что делает в этом названии API?
API - это интерфейс, благодаря которому одна программа может общаться с другой. В смысле отношений “клиент-сервер” API работает так: по запросу от клиента сервер отправляет определенный ответ. Клиентов у сервера может быть очень много.
Теперь о главной особенности Strapi
Эта CMS относится к типу headless (безголовых). Такая CMS не содержит никаких шаблонов отображения, а только API для предоставления данных.
В WordPress, например, есть так называемые темы. Мы их встраиваем на сайт и прописываем какие поля будут использоваться на той или иной странице. Другими словами, мы “прибиваем” тему к CMS. Сменить ее, конечно, можно, но верстку всегда придется “натягивать”, то есть подстраивать названия функций и полей под текущую реализацию.
Отсюда вытекает недостаток обычных CMS - плохая отделенность логики работы с контентом от шаблонов его внешнего представления.
Strapi решает эту проблему
Можно создать единый API для всех клиентов. Например, если у компании еще нет мобильного приложения, но уже есть грамотно продуманный API, то его разработка приложения с точки зрения бэкенда практически не займет времени. Фронтенд же создаётся отдельно и в смысле общего кода никак не связан с CMS.
Благодаря такому отсутствию взаимосвязи с фронтом, разработчики могут переходить с одной headless-CMS на другую с минимальными издержками.
Strapi, работая с базой данных и файловой системой, позволяет настраивать роуты для API. Роут - это взаимосвязь запроса клиента и ответа сервера. То есть, если мы переходим на страницу catalog, и прописываем это в адресной строке браузера, то сервер реагирует на это и отдает нам именно эту страницу.
Кроме стандартного запроса GET, Strapi работает также с запросами типа POST, PUT или DELETE, производя соответствующее действие с записью, указанной в роуте. То есть добавляет новую, обновляет или удаляет.
Когда же нам применять Strapi?
Эта CMS подходит практически для любых целей. Само приложение ставится с помощью командной строки, и можно выбрать из списка изначальный шаблон. Например, блог или интернет-магазин. Шаблонов довольно много, их можно доделывать и настраивать под свои нужды, и есть возможность сделать все с нуля.
Единственное ограничение использования - Strapi не получится использовать на виртуальном хостинге, как, например, WordPress. Для Strapi потребуется node-среда, и, скорее всего, выделенный сервер.
Есть у Strapi и недостаток: нельзя редактировать контент в режиме предпросмотра. Мы должны сначала создать контент, сохранить изменения, и только потом можем посмотреть на фронте, как эти изменения выглядят. Если верстка плохо продумана для адаптации к размеру контента, страница может “поехать”, и изменения придется откатывать.
Подводя итоги, можно сказать, что Strapi - одна из самых динамично развивающихся технологий. Популярность ее пока довольно мала, но Strapi обязательно займет свое место на рынке CMS.