21-08-2019

Super-snelle performance dankzij server-side rendering met Node.js

Dat het gebruik van JavaScript en technieken als Angular, Vue en React in front-ends enorm in populariteit is gegroeid, is alom bekend. Vanuit user experience ook wel terecht. Je ontwikkelt met JavaScript dynamische, interactieve applicaties met een moderne, onderhoudsvriendelijke architectuur. Wellicht iets minder bekend is dat JavaScript, dankzij Node.js, tegenwoordig ook aan de serverkant kan worden gebruikt. Verbeterde support en groeiende populariteit van het Node.js platform hebben daar flink aan bijgedragen. Inmiddels is het cutting edge technologie dat vooral op performancevlak applicaties sterk kan verbeteren.

ISAAC Node.js Guild vertelt over voordelen van server-side rendering

Wat is Node.js?

Op softwareplatform Node.js ontwikkel en draai je JavaScript applicaties. In tegenstelling tot veel andere JavaScript-toepassingen, worden deze applicaties niet uitgevoerd in de browser maar op de server. Node.js maakt hierbij gebruik van de JavaScript engine V8, die ook wordt gebruikt in het populaire Google Chrome. Door het JavaScript-ontwerp komt Node.js specifiek goed tot zijn recht in real-time webapplicaties en in applicaties die real-time grote(re) hoeveelheden data requests moeten verwerken. Voorbeelden van grote spelers die Node.js voor hun diensten inzetten, zijn onder ander PayPal, Netflix, eBay en Walmart.

De kracht van server-side rendering met Node.js

Node.js vult een belangrijke behoefte in: ontwikkelen van snelle, schaalbare applicaties. Het past bijvoorbeeld uitstekend binnen een microservices architectuur. De belangrijkste voordelen op een rij:

  • Superieure performance: het client-side renderen van een pagina kan soms lang duren, zeker op mobiele devices. Iets dat automatisch leidt tot een slechtere gebruikerservaring. Door de pagina al te renderen aan de serverkant laat je gebruikers minder lang wachten. Op conversiegerichte pagina’s heeft dat uiteraard direct een positief effect.
  • Zoekmachine geoptimaliseerd: door pagina’s server-side te renderen, zijn pagina’s beter indexeerbaar voor zoekmachines. Dat in tegenstelling tot client-side rendering, dat web crawling door bots kan vertragen. De structuren van de pagina’s zijn immers slechts leesbaar voor bots. Server-side rendering met Node.js tilt SEO en conversieratio’s naar een hoger level.
  • Hydration: met de inzet van Node.js haalt de browser na de eerste keer pagina laden alleen nog data op die nodig zijn om voor gebruikers de pagina te updaten. Het mooie aan Node.js is dat het dezelfde codebase kan gebruiken als de front-end, in tegenstelling tot bijvoorbeeld .Net, PHP en Java omgevingen. Zo heb je de voordelen van server-side en client-side rendering in één.
  • Node.js is container-ready: met het lichtgewichtige, modulaire systeem van Node.js ontwikkel je losstaande, schaalbare applicaties. Die modulaire architectuur gaat perfect hand-in-hand met een microservices architectuur en containers, waar we eerder al over schreven.

"Geheel passend in een microservices architectuur: laat applicaties doen waar ze goed in zijn. Node.js is bij uitstek geschikt om front-ends te renderen en daarmee de performance van applicaties sterk te verbeteren."

Back-end-voor-front-end & microservices

Kenmerkend aan Node.js is de mogelijkheid tot calls naar allerlei typen APIs. Je kunt Node.js eenvoudig inzetten als ‘back-end-voor-front-end’ (BFFs). In deze opzet worden kleine losstaande APIs ontwikkeld die zijn geoptimaliseerd voor specifieke front-end onderdelen van de applicatie. Dit ontlast de back-end ontwikkelaars en biedt mogelijkheden tot optimalisatie voor specifieke use-cases. In de praktijk zet je met zo’n architectuur een stuk sneller en flexibeler (nieuwe) proposities in de markt. Het werkt bovendien ook uitstekend wanneer je een snelle website, aanvraagstraat of portaal wil neerzetten met een zware back-end. Geheel passend in een microservices architectuur: laat applicaties doen waar ze goed in zijn. En Node.js is bij uitstek geschikt om BFFs te hosten en om front-ends te renderen. Daarmee wordt de performance van applicaties sterk verbeterd.

Techniekinnovatie in Guilds

Dit artikel is onderdeel van een reeks artikelen over Guilds bij ISAAC. We geloven dat techniekinnovatie het beste ontdekt en ontwikkeld kan worden vanuit de werkvloer. De innovatiekracht daarvoor zit bij onze mensen. Collega’s met dezelfde ‘community of interest’ zijn georganiseerd in Guilds, waarvan er op dit moment 16 bij ISAAC draaien. Er zijn onder andere Guilds voor Accessibility, Continuous Integration, Docker, Java System Integration, Testing en Serverless on AWS. Binnen een Guild discussiëren ISAACi over nieuwe technologieën, worden proof-of-concepts ontwikkeld, ervaringen gedeeld of mensen van buitenaf uitgenodigd een training of cursus te verzorgen.

Meer weten over server-side rendering met Node.js? Laat het aan ons weten en we nemen contact op.