Headless CMS - czym różnią się od standardowych systemów zarządzania treścią?

Jaka jest różnica pomiędzy Wordpress’em czy wykorzystywanym przez nas CraftCMS a typowym egzemplarzem z gatunku Headless?

23 kwietnia 2019

Headless CMS

Chciałbym przybliżyć Wam bardzo popularne w ostatnim czasie Headless CMS’y. Od razu chce zaznaczyć, że funkcjonują one dosyć długo! To nie jest tak, że nagle zyskały swoją popularność - robiły to systematycznie, mądrze dojrzewając. Pierwsze frazy o ich istnieniu datują się w wyszukiwarce Google na przełomie roku 2015 i 2016.

Do przewidzenia było, że rynek stron internetowych podążając za aplikacjami zacznie opierać się na rozwiązaniach z rodziny SPA. Showcase’y programistów wykorzystujących tą technologię mogliśmy obserwować już od dawna, ale teraz zaczęto w oparciu o nie realizować duże komercyjne projekty.

Najprościej mówiąc: Headless CMS nie mają w sobie wbudowanej warstwy prezentacji danych. Skupiają się jedynie na budowie struktury treści i umożliwiają wygodne wprowadzenie do niej danych. Następnie te dane udostępniane są przez API. W ich kontekście nie ma mowy o tworzeniu żadnego HTML’a czy CSS :)

Osoby niezwiązane bezpośrednio z developmentem stron internetowych pewnie na tym etapie zakładają, że skoro opisywane przeze mnie CMS’y mają mniej funkcjonalności to są gorsze. Jest to błędne założenie - są po prostu przeznaczone do innych zastosowań. Korzystając ze standardowych systemów CMS poniekąd skazani jesteśmy na wbudowane w nie sposoby prezentacji danych i musimy godzić się na ich wady i zalety. Nowe podejście pozwala na brak powiązań pomiędzy konkretną technologią frontendową, co więcej pozwala na zasilanie aplikacji mobilnej, desktopowej lub jakiejkolwiek innej aplikacji z dostępem do internetu.

Żeby być w pełni sprawiedliwym trzeba oddać starszemu rodzeństwu, że też są w stanie realizować te wszystkie zadania - np. poprzez instalację odpowiednich pluginów czy drobną ingerencję w kod. Mimo wszystko to nie jest ich główna odpowiedzialność, przez co praktycznie zawsze wykorzystanie ich jako Api wymaga od nas dodatkowego nakładu pracy. Często też nie mamy nieograniczonego wpływu na to jak ostatecznie wyglądają nasze dane i musimy iść na pewne kompromisy.

Czy warto?

Przede wszystkim jest to sposób organizacji danych, który na pewno wywalczy sobie sporą przestrzeń na rynku systemów CMS (ma nawet potencjał, żeby całkowicie go przejąć), więc przez to warto się z nim zaznajomić i śledzić jego rozwój. Osobom, które nie miały z tym styczności, polecam zaplanowanie sobie jakiegoś mniejszego projektu w tej technologii. Na pewno taki projekt pozwoli wam wyrobić sobie własną opinię i kto wie, może całkowicie porzucicie wcześniejsze rozwiązania na rzecz przedstawianych przeze mnie rozwiązań?

Jakieś minusy?

Głownie cena - jeżeli chcemy mieć system CMS na przyzwoitym poziomie wsparcia, dostępności, obsługi języków, pluginów i wszystkiego innego z czym kojarzymy CMS'a to raczej nie obejdziemy się bez naszej karty kredytowej :)

P.S. są rozwiązania Open Source.

W kolejnym artykule porównamy sobie najpopularniejsze CMS’y tego typu i zobaczymy w jaki sposób można nimi zarządzać. Dla niecierpliwych, zostawiam kilka linków:

https://geekflare.com/headless-cms/
https://www.cmswire.com/web-cms/13-headless-cmss-to-put-on-your-radar/
https://headlesscms.org/