Headless CMS - o co chodzi?

Czym różnią się od standardowych systemów zarządzania treścią?

23 April 2019

Chciałbym dzisiaj poruszyć gorący w ostatnim czasie temat Headless CMS'ów. Istnieją one na rynku już od jakiegoś czasu, powoli i systematycznie zdobywając popularność. Wiąże się to na pewno z coraz powszechniejszym użyciem technologii z rodziny SPA jako budulca stron internetowych.

Do przewidzenia było, że rynek naszych internetowych wizytówek, podążając za aplikacjami, zacznie opierać się na bardziej nowoczesnych technologiach. Showcase’y programistów popisujących się błyskawicznie reagującymi stronami mogliśmy obserwować już od dawna, ale teraz zaczęto w oparciu o nie realizować duże komercyjne projekty.

Przechodząc do meritum - jaka jest różnica pomiędzy standardowym CMS a typowym egzemplarzem z rodziny Headless? 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'a :)

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ą siłą rzeczy musza być gorsze. Nalegam, żeby nie myśleć o tym w ten sposób - 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. Samo użycie tego rodzaju "magazynu" danych wymusza na nas inne podejście, na pewno bardziej przystające do obecnych technologii. Brzmi nieźle?

Ż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. Trzeba jednak pamiętać, że to nie w takim celu zostały stworzone, przez co wykorzystanie ich w formie API prawie zawsze 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?

Myślę, że tak. Szczególnie jeśli chcecie zacząć wykorzystywać najnowsze technologie do budowy waszych stron.

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ć.