Blog

Headless – Po co to komu?

Opublikowano
Warszawa, lipiec 15, 2022

Jeśli wygooglujemy hasło “headless”, znajdziemy bardzo wiele definicji i sposobów rozumienia tego pojęcia. Wiele z nich skupia się tylko na CMSach, inne próbują wyjaśnić genezę pojęcia. Zanim przejdziemy do tego, co dają nam rozwiązania “bezgłowe” i czy warto w nie inwestować, zadbamy o to, żebyśmy dobrze się zrozumieli, bo podobno lepiej zaczynać od początku niż od końca 😉

Słowniczek podstawowych pojęć

Architektura opisuje interakcje pomiędzy aplikacjami, bazami danych i systemami oprogramowania pośredniczącego w sieci. Zapewnia wspólną pracę wielu aplikacji.

Backend jest kodem, który wykonywany jest na serwerze, użytkownik nie ma do niego bezpośredniego dostępu.​ Przykładowe języki programowania to:

  • PHP
  • Java
  • Python
  • Ruby

Frontend to kod, który wykonywany jest w przeglądarce użytkownika. Można go podejrzeć wyświetlając ”źródłostrony” w przeglądarce.​ Większość logiki na froncie napisana jest w JavaScripcie przy pomocy m.in. Reacta czy Angulara.

Progressive Web App (PWA) to strona internetowa, wykorzystująca nowe technologie dostępne w przeglądarkach. Dzięki znajomości kontekstu urządzenia i jego możliwości, często zachowuje się jak natywna aplikacja mobilna. PWA pisana jest w technologiach frontendowych i zasilana backendem.

Application Programming Interface (API) czyli możliwość połączenia pomiędzy dwoma interfejsami programistycznymi – kontrakt, który umożliwia komunikację pomiędzy różnymi serwisami.

Czym się różni monolit od rozwiązania headless?

Czym jest monolit?

Monolitem nazywamy klasyczną metodę developmentu, czyli rozwiązanie nierozproszone, gdzie wszystkie funkcje i serwisy są zgromadzone w jednej bazie kodu.

W kontrze do monolitu, headless to architektura, w której frontend i backend są rozdzielone i komunikują się w oparciu o API.

Jak działa monolit?

Co jest nie tak z tradycyjnym podejściem?

  • Nie jest dostosowane do dużej ilości touchpointów​.
  • Trudno jest utrzymywać treść dla wielu kanałów odbioru​.
  • Rośnie złożoność techniczna przy wielu kanałach.
  • Dla każdego nowego kanału konsumowania treści, musimy stworzyć „nową stronę” (nowy CMS z bazą danych itd.), co po jakimś czasie staję się koszmarem do utrzymania.

W czym pomaga architektura headless?

Dla kogo jest?

Dużym wyzwaniem jest zwiększenie zwinności w wytwarzaniu i utrzymaniu produktów online. Właśnie na takie potrzeby odpowiada architektura headless, która w kontrze do monolitu ułatwia przepływ informacji, dzięki uproszczeniu sposobu dostarczania contentu. Za pomocą jednej bazy danych, możemy dystrybuować materiały na wiele różnych kanałów odbioru (aplikacja mobilna, WWW, PoS itd.)

Zalety headless z perspektywy biznesowej

  • Jedno miejsce do tworzenia i serwowania treści​.
  • Elastyczność przy rozdzielaniu odpowiedzialności pomiędzy streamy/zespoły/firmy​.
  • Skalowalność i rozszerzalność – łatwiej dodawać kolejne kanały sprzedaży czy konsumpcji treści.
  • Zwiększone bezpieczeństwo​.
  • Mniejsza złożoność infrastruktury​ potrzebnej do uruchomienia aplikacji.
  • Aplikacje wykonane w architekturze headless długofalowo są tańsze w utrzymaniu.
  • Daje przewagę biznesową przy dodawaniu nowych kanałów sprzedaży – szybszy Time to Market.
  • Ułatwia współpracę z wieloma dostawcami.
Jak działa Headless?

Headless to nie kraina mlekiem i miodem płynąca

Wady rozwiązań headlesowych:

  • Wymaga innego podejścia jeśli chodzi o tworzenie treści (content musi być bardziej przemyślany, bo będzie używany w wielu kanałach).
  • Wdrożenie, przynajmniej na początkowym etapie, jest trudniejsze i bardziej kosztowne.
  • W przypadku korzystania z różnych dostawców (np. jeden dostawca to backend, drugi to frontend), wymaga doświadczenia w budowaniu zespołów.
  • Jako rozwiązanie bardziej nowoczesne i zaawansowane, może stanowić większe wyzwanie w kontekście znalezienia odpowiednich partnerów.
Wszystko się da, ale headless pozwala robić to efektywniej.
Paolo Koalo

Jak wdrożyć headless?

Duża część bieżących rozwiązań stworzona jest w oparciu o monolit. Rozwiązanie tworzone było kilka lat temu, mamy w to zainwestowane spore pieniądze i know-how zespołu, co teraz?
Częstą sytuacją jest potrzeba stworzenia aplikacji mobilnej. Aplikacja mobilna to potencjalnie atrakcyjny kanał sprzedaży, który może zwiększyć potencjał wielu przedsięwzięć. Jeśli cały nasz kontent znajduje się w monolicie, najlepszą opcją jest stworzenie API do już istniejącego rozwiązania, po to żeby skrócić czas wdrożenia.
 
Po wdrożeniu API kolejnym krokiem może być przeniesienie frontendu strony np. do PWA. Dzięki temu rozłączamy warstwę wizualną od backendowej i przekształcamy nasze rozwiązanie właśnie w headless.
W SYZYGY pełnię m.in. rolę Technology Culture Guide
Autor Marcin Stasiak
Full-Stack Developer
On this page