Headless er et term, der de senere år har vundet større og større indpas på webscenen. Men hvad er headless, og giver det overhovedet mening at benytte sig af? Svaret på det sidste spørgsmål er som altid, at det kommer an på, hvad jeres ambitioner er med websitet og hvilket setup I ellers har i organisationen.
Hvad er et headless website?
Et headless websetup er i bund og grund en mere eller mindre intelligent frontend, der via API kald taler sammen med det bagvedliggende system. Eksempelvis kunne det være en frontend bygget på React, som taler sammen med API’et i Shopify.
Er det dyrt at få udviklet et headless website?
Det er svært at give et endeligt svar på, hvad det koster at gå headless-vejen, men det vil typisk være mere omkostningstungt end at bygge direkte på det underliggende system. Årsagen hertil er, at du for at bruge funktioner mv. i systemet skal kode dem fra bunden og så kalde CMS-systemet for at kunne udveksle data fra websitet til systemet.
Det er også vigtigt at have in mente, at udgiften til vedligeholdelse typisk vil være højere. Hvis en ny funktion lanceres på backend-systemet vil du også skulle kode logik til den i frontend og binde det sammen via API’et. Ikke meget højere, men en smule højere end at skulle bygge det ind native i et system.
Hvad er fordele og ulemper ved headless?
Fordele
- Det er muligt at bygge skræddersyede funktioner til låste systemer (dataudvekslingen vil dog stadig være låst af, hvad der er muligt i systemets API). Eksempelvis kan man komme udover nogle af begrænsninger i Shopify ved at bruge et headless setup såsom styling af checkout mv..
- Du kan selv styre URL-stukturen i systemer, som ellers ikke har den mulighed normalt (eksempelvis er URL-strenge i Shopify låste, men det kan man lave om på i et headless-setup).
- Frontenden vil i mange tilfælde kunne være hurtigere da der ikke skal køres ligeså tung backendlogik når den indlæses.
Ulemper
- Det vil typisk være dyrere end at bygge direkte på det underliggende system.
- Det vil tilføre et ekstra lag af vedligeholdelse og kompleksitet (afhængig af hvilke frontend frameworks der benyttes).
- Det kan ske, at headless bliver brugt til at lappe et ellers forkert valg i websetuppet. Vær sikker på, at det ikke er tilfældet inden du går videre med det.
PWA; To fluer med ét smæk
En anden upside, hvis du begiver dig ud i et headless setup er, at man typisk vil bygge frontenden som en Progressive Web App (PWA). Dette gør, at man kan give en app-like experience på websitet. Du kan læse mere i vores artikel om PWA’er her. Det er dog vigtigt at understrege, at et almindeligt native setup i et open-source system (WordPress etc.) også fint er muligt. Det er altså ikke et krav, at du har et headless setup for at kunne bygge frontenden som PWA.
Hvornår giver det mening at bruge headless?
Hvis man skal sætte en tommelfingerregel op for, hvornår det giver mening at gå med headless fremfor native vil vi sige, at du skal bruge headless, hvis du har valgt at gå med et lukket system (eksempelvis Shopify), men ønsker funktionalitet i frontenden, der går udover hvad systemet kan. Man kan så argumentere for, at man kunne vælge et andet system, men der kan være mange grunde til at gå med et specifikt system i jeres organisation, og der kan headless være en farbar vej at gå til at omgå nogle af de låste ting, der måtte være i systemet.
Shopify er blevet nævnt en del gang i artiklen her og det er fordi, at det ofte er her vi ser, at det giver mening at benytte. Shopify er et fantastisk system til e-commerce, men da det er closed source kan man ofte støde på begrænsninger. Især sprogversionering er et sted, hvor Shopify har haltet bagefter de senere år. Shopify Markets skulle rode bod på det, men der skal nok komme andre hovedpiner for Shopify-brugere i fremtiden. Det er hovedpiner, som et headless setup kan hjælpe med at fikse.
Headless kan i teorien også bruges til åbne systemer som WordPress, men her er usecase ofte mindre relevant da du tilfører et ekstra lag af kompleksitet og (ofte) uden en ekstra reward.
I sidste ende er det noget du skal klarlægge med din tekniske rådgiver så du er sikker på, at det også giver mening i dit setup. Selvom headless kan være smart er det ikke for alle.