Co to jest headless CMS i jak wybrać go z głową?
Pojęcie headless CMS zaczęło ostatnio zyskiwać na dużej popularności. Dzieje się tak, gdyż rozwiązanie to ma bardzo duży potencjał w dynamicznie zmieniającym się świecie technologii. W tym artykule dowiesz się zatem, czym jest headless CMS, jakie są jego zalety i wady oraz kiedy warto z niego korzystać.
Headless CMS – czym jest?
Na początek określmy sobie, czym dokładnie jest tradycyjny CMS (content management system). Systemy takie są także nazywane monolitycznymi, gdyż w ich zakres wchodzi komplet funkcjonalności potrzebnych do tworzenia contentu oraz jego dostarczania do użytkownika. W przypadku choćby WordPressa będą to zatem następujące elementy:
- baza danych przechowująca content,
- panel administratora do zarządzania contentem (ogólnie pojęty back-end),
- front-end, który wykorzystując HTML, przedstawia użytkownikowi cały content.
Jak zatem przekształcić tę strukturę w headless CMS? Aby to zrobić, należy odciąć symboliczną głowę tego systemu (stąd termin headless), czyli front-end, pozostawiając jedynie to, co wchodzi w skład back-endu. Oczywiście nie oznacza to, że nie mamy możliwości przedstawienia contentu odbiorcy. W takim systemie część wizualną tworzy się za pomocą API.
Takie rozwiązanie daje tak naprawdę znacznie szersze możliwości, gdyż nie ogranicza sposobów na przedstawianie treści do jednej technologii. Wykorzystując API, developer może wybrać dowolną z nich, jeśli jest oczywiście z nią zapoznany.
Właśnie na tym polega natura headless CMS – w przypadku tej technologii system może mieć wiele „głów”, czyli sposobów prezentowania contentu użytkownikowi. Warto pamiętać, że wybór nie ogranicza się jedynie do technologii webowych. Za pomocą jednego API można sprawić, aby ten sam content był z powodzeniem pokazywany na stronie internetowej, jak i w aplikacji iOS.
Headless CMS – jak działa?
Headless CMS udostępnia edytorom interfejs do zarządzania treścią, a jednocześnie dostarcza programistom API do budowania aplikacji. Większość takich rozwiązań jest oferowana w formie Software as a Service, co oznacza, że edytorzy treści muszą zalogować się do aplikacji internetowej, a interfejsy API są umieszczone w back-endzie opartym na chmurze. Niektóre rozwiązania headless CMS można w całości hostować na własnym serwerze i bazie danych, co wymaga jednak przeprowadzenia skalowania i innych ważnych działań na własną rękę.
Headless CMS – zalety
Omawiana technologia wiąże się z wieloma korzyściami, szczególnie pod kątem prac developerskich. Oto główne plusy wynikające z tego rozwiązania.
1. Swoboda w tworzeniu front-endu
Za pomocą API jesteś w stanie publikować content na dowolnym urządzeniu i kanale. Oprócz tego programiści mogą swobodnie dobierać ulubione frameworki i narzędzia, z których chcą korzystać. Z tego powodu headless CMS bardzo różni się pod tym względem od tradycyjnych rozwiązań, które narzucają ograniczenia co do technologii stosowanych podczas tworzenia komponentów.
2. Większe możliwości wykorzystywania API
Interfejsy programowania aplikacji pozwalają technologiom komunikować się między sobą. To właśnie dzięki temu da się prezentować content na różnych kanałach. Jednak to nie wszystko. Dzięki wykorzystaniu różnych API możesz także gromadzić dane z licznych źródeł oraz przesyłać je do CMS-a w celu analizy, a następnie ponownie wysyłać do licznych kanałów.
3. Odseparowanie zarządzania treścią oraz wyglądu systemu
Osoby odpowiedzialne za zarządzanie contentem mogą wprowadzać potrzebne zmiany, nie ingerując przy tym w obecny wygląd strony. Funkcja ta znajdzie zastosowanie w przypadku rozbudowanych projektów, gdyż content managerowie są w stanie w całości wykonywać swoją pracę, gdy tylko zostanie przygotowany wstępnie backend oraz panel administracyjny.
Headless CMS – wady
Jak każde rozwiązanie headless CMS ma też swoje ograniczenia i niedogodności. Do największych z nich należą:
1. Brak WYSIWYG
WYSIWYG (what you see is what you get) to skrót, który oznacza, że wszelkie zmiany wprowadzane podczas tworzenia contentu są od razu widoczne dla edytora tak, jak będą prezentować się na samej stronie www dla biznesu. Choć jak wspomniano w zaletach, headless pozwala content managerom wykonywać swoją pracę i nie ingerować przy tym w obecny wygląd strony, to są jednak pozbawieni pewnej bardzo przydatnej funkcji.
2. Większe koszty
Jako, że w headless CMS pozbywasz się gotowej warstwy wizualnej, musisz ją przygotować sam. Wiąże się to oczywiście z kosztami, które dodatkowo rosną, jeśli chcesz korzystać z kilku kanałów przedstawiania contentu.
3. Konieczność polegania na developerach
W przypadku tradycyjnych i nowoczesnych systemów zarządzania treścią wiele z ważnych zadań możesz zrealizować samodzielnie, nawet jeśli nie masz umiejętności programistycznych. Jeśli jednak mowa o headless, „odcięcie” front-endu sprawia, że do wykonania wielu czynności potrzebujesz programisty.
Podsumowanie – czy headless CMS jest dla Ciebie?
Z omawianą technologią wiąże się rzecz jasna wiele korzyści. Skorzystasz z niej najbardziej, gdy:
- twoja strona w dużym stopniu wykorzystuje frameworki JavaScript jak Vue, React oraz AngularJS,
- twoja witryna została stworzona za pomocą generatora stron statycznych,
- chcesz publikować ten sam content na różnych kanałach i urządzeniach.
Headless z pewnością pozwala programistom na tworzenie bardziej angażującego user experience, jednak rozwiązanie to nie jest konieczne w przypadku stron internetowych małych firm, które nie mają dużych potrzeb. W przypadku takich projektów tradycyjny CMS jak WordPress jest szybszym i bardziej efektywnym rozwiązaniem.