26 mrt. 2020

R&D: NodeJS Mock Server genereert efficiënt data voor frontend developers

Tweewekelijks werken onze collega’s aan interessante Research & Development-projecten. Ze onderzoeken en testen nieuwe technologie, methodes of tooling of delen onderling ervaring en kennis vanuit hun werkzaamheden bij klanten. Dinsdag gaf onze frontend developer Peter Ahlers - weliswaar online dit keer - een workshop over de NodeJS Mock Server, die hij in dit artikel samenvat.
door: Peter Ahlers
Peter is frontend developer bij Flusso

Wat is de NodeJS Mock Server?

Een team van frontend en backend ontwikkelaars werkt efficiënt wanneer beide partijen direct kunnen ontwikkelen zonder afhankelijkheid van elkaar. Toch wordt vaak een afhankelijkheid gecreëerd, omdat de frontend data uit een backend nodig heeft. Problemen die daardoor ontstaan liggen vaak op het vlak van de API, want die voorziet de frontend van data uit de backend. Denk bijvoorbeeld aan bugs in de API of de API werkt inefficiënte integratie waardoor communicatie niet soepel verloopt. Los je deze problemen niet in een vroeg stadium op dan blijven die vaak in een later stadium aanwezig.

Met een NodeJS Mock Server kan je deze problemen in een vroeg stadium herkennen en oplossen. Die bouwen we zelf in een half uurtje en hiervoor gebruiken we NodeJS, want frontend-ontwikkelaars zijn namelijk bekend met JavaScript. Zo kunnen ze de mock server zelf ontwikkelen en onderhouden.

In de mock server bouwen we alleen het minimum aan logica. Toch geeft de mock server wel een goed beeld van hoe je applicatie met een backend gaat werken. Zaken als de werking van de API, CORS, timing issues en verschillende fout scenario's kunnen gemakkelijk worden gesimuleerd.

 

Hoe maak je de NodeJS Mock Server?

Je start met het installeren van de software in je frontend project en voegt een script toe aan de package.json. Daarna maken je een server.js-bestand. Deze vul je met de basisgegevens uit de Express framework en een aantal developers tools (logging, no-cache, etc). Tot slot bouw je één voor één de benodigde endpoints in.  Als de server.js te groot wordt, knip je deze op. Op deze manier hou je de code klein en overzichtelijk.

 

Voordelen van een mock server

  • API is voor alle developers bekend.
  • Geen afhankelijkheid van de backend, dus frontend-ontwikkelaars kunnen snel starten. 
  • In een eerder stadium is feedback beschikbaar en wordt duidelijk of de API ook werkt.
  • Speciale logica om edge cases te simuleren. Bijvoorbeeld HTTP error codes, een langzame connectie of speciale data. 
  • De ontwikkelaar is direct bekend met de API.
  • De frontend-ontwikkelaar is bekend met de gebruikte mock server tooling.
  • Frontend ontwikkeling heeft geen implementatie en kennis nodig van de backed (men vermijd dus de benodigde afhankelijk).
  • Klanten en testgebruikers krijgen in een vroeg stadium een gevoel van hoe de frontend gaat werken.

 

Nadelen van een mock server

  • Extra onderhoud voor de frontend ontwikkelaars.
  • Het frontend project krijgt meer code.

 

Welke software gebruik je voor de NodeJS Mock Server?

Natuurlijk gebruiken we NodeJS. Daarnaast zijn er een aantal libraries om het werk gemakkelijker te maken:

Meer weten over NodeJS Mock Server?

Wil je meer weten over dit onderwerp of bijvoorbeeld frontend ontwikkeling? Peter beantwoord graag en vrijblijvend je vragen.

bel met mij bel met +31 (0)33 - 4347680
Peter Ahlers
Peter is frontend developer bij Flusso
Vereist
Vereist
Vereist