Cloud Nine forklarer hovedløst: Er hovedløst det rigtige for mit websted?
I denne blogserie diskuterer jeg begrebet hovedløs og besvarer nogle spørgsmål, som jeg ofte bliver stillet i min rolle som udvikler. Vi har tidligere defineret og fremhævet nogle af fordelene ved hovedløs, og i dette indlæg vil vi tale lidt mere om, hvorfor du ønsker en hovedløs hjemmeside og nogle ting, du skal overveje, hvis du vil gå den vej.
Ja, hovedløs er stadig relevant
I forbindelse med nettet har hovedløs hængt rundt som en klar trend i et stykke tid nu, og det har ikke vist tegn på at bremse op. Her hos Cloud Nine har det som regel været os, der har forsøgt at forklare, hvad det er, og hvorfor det er godt, men på det seneste er det også begyndt at dukke op som et krav fra kundesiden tidligt i diskussionerne. Det viser, at der er en bredere viden om hovedløs, og hvad det kan bringe, og det betyder igen, at denne tendens formentlig kun vil blive ved med at vokse sig stærkere i fremtiden.
Min opfattelse er, at der frem for alt er nogle få ting, der gør, at hovedløse tiltrækker interesse uden for udviklerkredse, måske primært fleksibilitet og udskiftelighed. Simpelthen at du ser værdi i at kunne lave ændringer. Både ved at små ændringer kan laves hurtigere takket være et mere løst forbundet system, men også at man teoretisk set kan udskifte ret store byggeklodser i systemet uden at skulle lave et så stort eftersyn generelt. Det ses som en mere fremtidssikret måde at arbejde på, med mindre risiko for at male dig selv ind i et hjørne.
En anden faktor, som ikke skal undervurderes, er, at mange moderne hjemmesider tilbyder en meget behagelig oplevelse ved at bruge et af de store Javascript-frameworks, med React i front. Fordelene i opfattet hastighed, problemfri navigation og større frihed ved design af interaktioner på disse typer websteder appellerer til mange. For at opnå dette godt for et større websted, er hovedløs nok til at blive betragtet som et krav.
Afgørende faktorer for at vælge hovedløs
Så sig så, at du synes, at alt ovenstående lyder godt. Det er klart, at du ønsker fleksibilitet, hurtigere forandringer og et hip React-sted. Men hvis det er det, du vil have ud af dit websted, hvad skal du så opfylde, for at det kan implementeres? Der kræves i princippet ikke noget særligt, men du skal huske, at det er en lidt anden tankegang end den mere traditionelle hjemmeside. Det kan have betydning for en række ting, hvor det er godt at have lidt indsigt fra starten af blandt andet følgende:
Har udviklingsteamet hovedløs erfaring? Ikke et absolut krav, selvfølgelig, men det kan hjælpe dig med at undgå nogle faldgruber. Det er ret nemt at “ved et uheld” bygge sin hovedløse løsning efter præcis samme tankegang som en traditionel hjemmeside, hvorefter man mister nogle af fordelene ved fleksibilitet.
Er dem, der skal arbejde med indholdet på hjemmesiden, med? Ofte kan det være en lidt anderledes opgave at arbejde med indhold, når det ikke er knyttet til en bestemt præsentation, det kan for eksempel føles lidt mindre frit, da alt andet end det mest basale design generelt styres af kode frem for editorer (f.eks. en ensartet præsentation af alt indhold).
Har du valgt en (eller flere) platforme, der er velegnede til hovedløse? De fleste større CMS- og e-handelsplatforme har i dag en eller anden form for support til headless, men det er stadig værd at huske på. Det behøver ikke at være en “deal-breaker”, men hvis din platform ikke er klar til det eller ikke har god nok support, skal du være opmærksom på, at det kan kræve yderligere udvikling, eller at det i værste fald I tilfælde af, at du måske skal genoverveje dit valg af platform. Man skal også huske, at der kan være ting, der opfattes som indbygget i en platform, men som ikke automatisk indgår, når man bygger en afkoblet applikation. Sidstnævnte gælder primært platforme, der ikke er bygget til hovedløse fra bunden.
Sammenfattende kan man nok bare sige, at hovedløs medfører en lidt anden måde at tænke på, både i udviklingsarbejdet og for dem, der skal arbejde med det færdige produkt. Jeg vil dog sige, at de fleste af dem, måske med undtagelse af en opstartsfase, bliver mere ligetil, når man først er i gang, takket være den klare ansvarsfordeling.
I næste indlæg vil jeg se nærmere på “microservice architecture”, som ofte nævnes sammen med hovedløs, samt nævne nogle korte tanker om fremtiden på disse to områder.
/Ronnie Hillgren, systemudvikler