De voordelen van microfrontends

Door gebruik te maken van de microfrontend architectuur kunnen teams efficient werken en de schaalbaarheid en onderhoudbaarheid van hun applicatie verbeteren. In dit artikel lees je alles dat je moet weten over deze aanpak.

microfrontends
Meer weten?

Ga het gesprek aan met Koen!

    Frontend is een verzamelnaam voor alle code die zorgt dat de software functioneel visueel en interactief wordt. Backend is met name het technische geraamte en de database van de software. Frontend omvat de ‘interface’ van de software. Bij de term micro-frontend, dan denk je aan klein stukje frontend. Betekent microfrontend dat de frontend kleiner of anders wordt? Nee. Microfrontend heeft hetzelfde eindresultaat, maar een andere benadering. De gehele software wordt namelijk onderverdeeld in kleine hapklare brokken functionaliteit, oftwel ‘microservices’. Deze diensten vertegenwoordigen een specifiek doel dat de eindgebruiker heeft in de software, zoals afrekenen of zoeken. Microfrontends zijn dus kleine ‘blokjes’ die deze dienst kunnen weergeven en mogelijk maken in de software. Door deze blokken samen te voegen ontstaat een volledig platform. Kijk bijvoorbeeld naar deze pagina:

    Dit is een productpagina, zoals we die vaak zien. Zo’n pagina bestaat uit een verzameling van functionaliteiten die ook op andere plekken in de software terug komen. Om de software efficienter in te richten kunnen we dit opsplitsen in microfrontends. Zo hoeft een frontend developer niet de hele pagina uit te werken, maar ‘ontstaat’ de pagina vanzelf door de microfrontends samen te voegen, zoals hieronder:

    Het concept van Microfrontends is om een website of webapplicatie te zien als een combinatie van individuele functies die door afzonderlijke teams zijn gemaakt. Elk team heeft zijn eigen domein waarin het gespecialiseerd is, en met gespecialiseerde kennis en expertise ontwikkelen zij hun componenten van database tot gebruikersinterface.

    Organisatie

    De invoering van microservices heeft ongelooflijk veel voordelen opgeleverd, omdat teams de inzet en het onderhoud van afzonderlijke diensten kunnen schalen. Toch beperkte zich dit voorheen vaak enkel tot de backend. Veel apps met microservices blijven gekoppeld aan een monolitische front-end. Dit heeft als resultaat dat de software alsnog een enorme browserapplicatie is die verstrengeld is met de losse back-end services. Hierdoor is het niet mogelijk om de voordelen van microservices optimaal te benutten. Traditionele organisatie van software development ziet er zo uit:

    Met de introductie van de micro-frontends komt daar verandering in. Door opsplitsing van microservices door te trekken naar de frontend, is het mogelijk om teams samen te stellen die van end-to-end volledig verantwoordelijk zijn voor een dienst/functie/klantdoel, zoals je hieronder ziet:

    Voordelen

    Microfrontends bieden verschillende voordelen voor software-ontwikkelingsteams ten opzichte van traditionele benaderingen:

    • Snellere ontwikkeling: dankzij microfrontends kunnen teams gelijktijdig en snel aan afzonderlijke componenten werken. Hierdoor kunnen ontwikkelaars zich concentreren op een bepaald deel van de software zonder alle andere delen te hoeven begrijpen.
    • Betere schaalbaarheid: microfrontends kunnen gemakkelijk naar behoefte worden op- of afgeschaald, waardoor teams hun ontwikkelingsprocessen kunnen optimaliseren voor maximale efficiëntie.
    • Grotere flexibiliteit: microfrontends bieden meer flexibiliteit bij het implementeren van nieuwe functies en het aanbrengen van wijzigingen aan bestaande functies, aangezien micro frontend blokken volledig van elkaar geïsoleerd zijn.
    • Gemakkelijker onderhoud: microfrontends maken het voor ontwikkelaars gemakkelijker om een applicatie te onderhouden door verschillende stukken code te isoleren.
    • Snellere livegang en implementatie: doordat verschillende delen van een applicatie onafhankelijk kunnen worden vrijgegeven is het sneller en gemakkelijker te implementeren.

    Klantgericht en Modulair

    Microfrontends zijn vooral geschikt voor klantgerichte bedrijven, omdat ze zorgen voor een betere gebruikerservaring. Teams zijn namelijk volledig gericht op het zo goed en gemakkelijk mogelijk te maken om gebruikers- en/of klantdoelen te behalen. Dit past uitermate goed bij een klantgerichte organisatie structuur. Om de microservices te verbeteren en de klantdoelen zo goed mogelijk te behartigen is het aan te raden om per functie een feedbackloop in te richten. Aan de hand van bijvoorbeeld de Customer Effort Score, is het snel inzichtelijk of de  microfrontends aansluiten bij de gebruiker.

    Bovendien past de werkwijze van microfrontends bij een modulaire aanpak. Elke losse service kan worden opgezet als een losse module.  Dit zorgt  ervoor dat micro-frontends onafhankelijk kunnen worden samengesteld en ingezet. Hierdoor kunnen teams snel nieuwe functies uitrollen of wijzigingen aanbrengen aan bestaande functies, terwijl de andere micro-frontends ongemoeid blijven.

     


     

    Al met al bieden micro frontends een geweldige oplossing voor softwareontwikkelteams die hun processen willen stroomlijnen en schaalbaarheid willen creëren. Door de applicatie op te splitsen in kleinere stukken, kunnen teams zich richten op individuele componenten. Dit leidt tot snellere implementaties, meer flexibiliteit bij de implementatie van functies, gemakkelijker onderhoud van codebases en betere schaalbaarheid wanneer dat nodig is. Omdat microfrontends zoveel voordelen bieden ten opzichte van traditionele benaderingen, is het geen wonder dat ze steeds populairder worden onder ontwikkelaars.