Headless eCommerce to hasło, które ostatnio stało się bardzo popularne w kręgach programistycznych. Coraz więcej firm stosuje tę technologię u swoich Klientów. Co za tym idzie – istnieje coraz większa szansa, że przy tworzeniu nowego sklepu, albo aktualizacji obecnego, Twoja agencja internetowa wypowie magiczne hasło “headless eCommerce“. Warto, żebyś wiedział, o co chodzi. Dzięki temu będziesz w stanie podjąć świadomą decyzję.

Trendy headless ecommerce

Headless jest hasłem, które zaczęło się pojawiać kilka lat temu (ok. 2015 roku), a od 2016 roku stale zyskuje na popularności. Dla przeciętnego Klienta to tylko technologia. Warto pamiętać jednak, że nieświadome wybranie technologii może mieć potem znaczące konsekwencje. Będzie to wpływać m.in. na:

  • koszt godzinowy danego programisty (np. programista SAS będzie kosztował więcej niż programista PHP);
  • na to, ile godzin finalnie będzie potrzebnych do zrealizowania celu;
  • na to co będziemy w stanie zrealizować w danej technologii.

Zarobki programistów

Czym jest headless eCommerce?

Żeby odpowiedzieć na to pytanie, trzeba zrozumieć, jak są skonstruowane sklepy internetowe. Standardowo składają się z 3 elementów:

1.     Bazy danych (miejsca, gdzie przetrzymywane są wszystkie informacje, takie jak ceny, nazwy, opisy, zdjęcia, etc.);

2.     Warstwy backendowej (czyli części, które pobiera i przetwarza dane z bazy danych). Ta warstwa zawiera też zazwyczaj część CMS-ową, czyli panel administracyjny, który nam pozwala zarządzać sklepem;

3.     Warstwy frontendowej (czyli sekcji, w której wyświetlane są wszystkie informacje dla Klienta końcowego).

W tradycyjnym modelu te wszystkie 3 warstwy działają razem. W podejściu headless eCommerce trzecia warstwa (frontendowa) jest “odcięta” (system jest pozbawiony tzw. “głowy”) i przytwierdzona za pomocą API (czyli dwukierunkowego interfejsu komunikacji między “głową” a “ciałem”).

Jeżeli chodzi o samą część frontendową, to najczęściej stosuje się jedną z 3 technologii: vue.js, react.js lub angularJS. Ponownie – sama technologia nie ma dla nas największego znaczenia. Dużo ważniejsze będzie to, co możemy dzięki niej osiągnąć. Największym i najważniejszym przykładem będzie serwis Alibaba. Dodatkowo pod tym linkiem prezentujemy jeszcze kilka innych przykładów.

Pytanie jakie się teraz pojawia, jest następujące: Po co się to podejście stosuje, co może nam to dać i kiedy nie warto go stosować?

Zalety Headless eCommerce

Co więc powoduje, że warto zastosować podejście headless?

Możliwość dostosowania wyglądu do różnych urządzeń

Biorąc pod uwagę, że nasz CMS (system backendowy) jedynie przekazuje informacje do “głowy”, to mamy pełną dowolność, jakie informacje chcemy otrzymać, kiedy, a także co mamy z nimi zrobić. Posiadając jeden system backendowy oraz API łączące go z frontem, możemy “zasilić” nieskończoną liczbę urządzeń i ekranów. Przykładowo możemy stworzyć zupełnie odrębny wygląd sklepu, systemu POS, aplikacji mobilnej, a nawet wersji na smartwatcha. Wszystko za pomocą tych samych narzędzi.

Oczywiście zaprojektowanie i wdrożenie tych frontów to kilkukrotnie więcej pracy, niż tylko przygotowanie wersji “tradycyjnej” sklepu, ale dalej powstaje tylko tzw. “głowa”, a cała obsługa, informacje o produktach, procesowanie zamówień, zostaje po stronie jednego systemu backendowego. Oznacza to również, że będziemy zarządzali wszystkimi urządzeniami z jednego miejsca. Może mieć to gigantyczne znaczenie przy procesowaniu zamówień.

Dowolność w tym, co chcemy pokazać

Biorąc pod uwagę, że technologia frontendowa jest całkowicie odcięta od backendu, pozwala to developerom na wykorzystanie dowolnego języka i frameworku, w zależności od potrzeb. Ma to duże znaczenie, w szczególności mając na uwadze, że części nowoczesnych rozwiązań UX nie da się (albo jest to bardzo złożone) uzyskać bez wykorzystania pewnych technologii. W zależności od miejsca, gdzie chcemy też zaprezentować aplikację, możemy też wykorzystać inną technologię. W pewnym sensie ta zaleta poniekąd jest również wadą (o tym za chwilę).

Obniżenie liczby zapytań do bazy danych

Podejście headless oznacza jednocześnie znacznie częstsze wykorzystanie przeglądarki do wykonywania skyptów i przeliczeń. Innymi słowy, może ona być wykorzystywana do obsługi tzw. logiki frontu. Obecnie przeglądarki spokojnie sobie radzą z dosyć złożonymi kalkulacjami, potrafią też przechować sporo danych, które można wykorzystać podczas nawigacji między stronami. Dzięki temu część zapytań jest już obsługiwana w sekcji tzw. “głowy” witryny, zamiast trafiać do części backendowej lub do bazy danych. Oznacza to mniejsze obciążenie serwera bazodanowego.

Przyspieszenie działania serwisu

Ostatnią, lecz bardzo istotną zaletą systemów headless jest możliwość stworzenia szybszego sklepu. Jest to powiązane z wykorzystaniem przeglądarki (o czym już wspominaliśmy w poprzednim punkcie). Podsumowując – możemy przechować więcej informacji, wykonać mniej zapytań do bazy, a także co ważniejsze – wykorzystać pewne mechanizmy doładowujące treść, dopiero kiedy jest potrzebna. Wejdźmy ponownie na serwis Alibaba (tylko zróbmy to z trybu incognito). Pozwólmy się stronie załadować, a następnie przescrollujmy w dół. Zauważymy doładowujące się zdjęcia. To właśnie mechanizm, o którym piszemy.

Bezpieczeństwo serwisu

Bezpieczeństwo serwisu
Warto zaznaczyć, że dzięki rozdzieleniu frontu i backendu, uzyskujemy dodatkową barierę chroniącą dane użytkowników. Są one przechowywane na innym serwerze, (zazwyczaj) o innym adresie niż domena strony. Dodatkowo ograniczenie pewnych funkcji, o których piszemy poniżej, może dodatkowo pozbawić system “bramek”, przez które można było się do niego dostać.

Wady Headless eCommerce

Jak to bywa ze wszystkim, oprócz zalet są również i pewne wady headless eCommerce. Żeby podjąć decyzję musimy mieć też świadomość, jakie są negatywy wykorzystania tej technologii.

Inne umiejętności w zespole / droższe umiejętności

Podział na programistów backendowych / frontendowych istniał zawsze. Jednak przy tym podejściu będziemy potrzebowali ludzi wyspecjalizowanych w technologii, która jest stosunkowo nowa. Są to też ludzie, którzy nie tylko będą w stanie ładnie “opakować” sklep, ale też stworzyć do niego całą logikę. Dodatkowo możemy potrzebować kogoś, kto stworzy API łączące się między tym co widać, a tym, co zarządza sklepem. Siłą rzeczy – taki zespół prawdopodobnie będzie droższy.

Mniej możliwości zespołu marketingowego

Wykorzystanie podejścia headlessowego oznacza też ograniczenie możliwości CMS sklepu. Jest oczywiście możliwość odtworzenia praktycznie wszystkich funkcji, będzie to jednak bardzo czasochłonne. Dla przykładu: jeżeli oczekujemy, że dodawane zdjęcia, opisy i nazwa produktu zawsze będą się pojawiały w określonych miejscach i nasz zespół marketingowy nie ma w planach tworzenia dedykowanych one-page’rów dla każdego z produktów – to headless może być dobrym podejściem.

Możliwy znacznie wyższy koszt

Celowo piszemy, że możliwy, ponieważ bardzo dużo zależy tutaj od sytuacji, w której aktualnie jesteśmy. Na koszt projektu headlessowego będą wpływały m.in. następujące kwestie:

1.     Czy potrzebujemy wielu gotowych modułów, które będziemy instalowali w sklepie?

2.     Czy większość frontów systemu będzie stała, czy chcemy mieć możliwość zarządzania nimi?

3.     W jakiej technologii będzie realizowany projekt?

Większość modułów, które zakupimy do CMSa, będzie częściowo bezużyteczna, ponieważ trzeba będzie nadpisać ich część frontendową. Dotyczy to też modułów płatności czy dostawy. Każda chęć wykorzystania mechanizmów CMS-owo / marketingowych też będzie musiała być odtworzona. Przykładowo – jeżeli obecny system pozwala nam na dodanie na poszczególnych stronach w dowolnym miejscu bloku statycznego z polecanymi produktami – obsługa tej funkcji może wymagać prac deweloperskich, pomimo tego, że jest już wbudowana w nasz system CMS.

Kiedy warto inwestować w Headless eCommerce?

Headless eCommerce ma swoje wady i zalety. Jest to na pewno technologia przyszłości. Niektóre platformy (np. Magento 2) już same promują to podejście i co więcej, planują przygotowanie własnych szablonów headlessowych w niedalekiej przyszłości. Programiści niechętnie pracują już w projektach, które nie są headlessowe. Trzeba jednak mierzyć siły na zamiary i zbadać koszt.

Najlepiej jest poprosić swoją agencję internetową o przygotowanie dwóch wycen – jednej opartej na headlessie, a drugiej w “tradycyjnym” modelu. Model headlessowy sprawdzi się głównie w przypadku kiedy myślimy o sklepie na wiele lat, który ma obsługiwać duży ruch, zawierać raczej statyczny front (celujemy w doprecyzowany wygląd o idealnej konwersji, a nie w kreatywność działu marketingowego) i nie planujemy wykorzystania dziesiątek gotowych modułów. Zazwyczaj jednak nie będziemy w stanie określić, czy nasz sklep spełnia to w 100%. Część z tych elementów będzie dla nas bardziej ważna, a część mniej. Jak mawiał Ryszard Ochódzki “Rozchodzi się jednak o to, żeby te plusy nie przesłoniły wam minusów!”.

Warto zaznaczyć, że podejście headlessowe wcale nie musi być droższe w implementacji, niż “tradycyjne”. Wszystko zależy od doświadczenia agencji, wykorzystania już raz stworzonych elementów oraz dostępności półproduktów / bibliotek / rozwiązań, które można wykorzystać bez pisania od zera. Dużo zależy też od CMSa, którego wybierzemy.

Jak możemy zauważyć – nie sposób łatwo określić czy to rozwiązanie jest dla nas, czy też nie. Twoja agencja powinna być w stanie podać twarde argumenty, dlaczego, i czy headless jest w Twoim przypadku wskazany. Warto też porównać koszt obydwu tych opcji, zanim podejmiemy decyzję.