Ik ben Thijs Windels en studeer New Media & Communication Technology aan Howest te Kortrijk. Een IT-opleiding waar ik mij specialiseer in web- en apptoepassingen. Tijdens mijn stage in het laatste semester van mijn opleiding, mocht ik aan de slag bij DX-Solutions.
Bachelorproef, oei …
Tijdens de stageperiode schreef ik mijn bachelorproef over 'de invloed van GraphQL en JSON Web Tokens (JWT) op het bouwen van een project'. Vanuit wat opzoekingswerk maakte ik een demoproject. Op die manier kon ik zelf ondervinden hoe zo'n implementatie werkt. Elke vrijdag kreeg ik dan ook de tijd om hier verder onderzoek naar te voeren op de werkvloer.
De bedoeling was om via een projectgerichte uitwerking de verschillen tussen een REST-API en GraphQL te ontdekken. Een tweede luik ging over de verschillen tussen JWT's en sessions. Uiteindelijk bleek dat beide technologieën hun voordelen konden opbrengen in de juiste situaties.
Wat is GraphQL eigenlijk?
Bij grotere projecten is GraphQL geen overbodige luxe. Het is een query language die het de gebruiker mogelijk maakt een GraphQL-API te 'doorzoeken'. Het antwoord van de server wordt zo een pak kleiner. Dat komt de snelheid natuurlijk ten goede. Wanneer een API dient uitgebreid te worden, wordt ook het gemak duidelijk. Met behoud van eenzelfde endpoint kan de frontend andere data opvragen. Zo kunnen een webapp en mobiele applicatie gebruik maken van dezelfde API en toch verschillende data opvragen.
Ok, en wat met JSON Web Tokens?
JSON Web Tokens dienen als autorisatiemogelijkheid (eventueel ter vervanging van sessions). Hiermee kan de gebruiker bewijzen wie hij is. JWT's vinden vooral hun voordeel op vlak van performance en het feit dat er een nuttige informatie in het token verwerkt zit. Ideaal voor het werken met API's of one-time-use tokens.
Dankzij de vakkundige feedback van de collega's, kon ik dit document een heel stuk uitbreiden. Met de eindpresentatie in zicht, gaf ik over de middag al een sessie rond GraphQL. De vragen achteraf zijn natuurlijk een aangename voorbereiding op wat me op de eindpresentatie te wachten staat.
Vorig artikel:
Mijn Stage als Frontend Developer - Thijs WindelsVolgend artikel:
Mijn stage als backend PHP developer - Stijn Vandendriessche