Bij jem-id delen we graag onze kennis, zowel over de tuinbouwsector als IT met de volgende generatie developers. Daarom werken we samen met de Haagse Hogeschool aan het webapplicatie-semester. Met de docenten van de HBO ICT opleiding, ontwikkelden we een praktijkcasus waarin studenten twintig weken lang werken aan een realistische webapplicatie voor de tuinbouw. Gedurende die periode staan we klaar om docenten en studenten te ondersteunen met kennis, feedback en praktijkervaring. Op 30 oktober 2025 gaf collega Danny Nieuwmans een gastcollege over TypeScript. In deze blog geeft hij een korte samenvatting van de inhoud.
Het college heb ik opgesplitst in drie blokken, namelijk:
- Basisprincipes van TypeScript
- TypeScript in de diepte
- TypeScript in de praktijk
Van basisprincipes van TypeScript naar de diepte
Tijdens de voorbereiding stelde ik mezelf de vraag: “Waarom TypeScript? En wat is het voordeel hiervan?”. Het is goed om daar soms even bij stil te staan, want persoonlijk kan ik me niet meer voorstellen om terug te gaan naar pure JavaScript. Want laten we eerlijk zijn: JavaScript werkt prima, totdat je applicatie groeit, je met meerdere mensen aan hetzelfde project werkt, of je na een paar maanden terugkeert naar je eigen code en niet meer precies weet wat waar bedoeld was.
Ook tijdens het college stelde ik deze vraag aan de studenten en beantwoordde hem als volgt: “Met TypeScript heb je betere tooling en autocompletion tijdens het programmeren, minder runtime bugs en betere onderhoudbare codebase, vooral in grotere applicaties en teams”.
We zijn begonnen met de basisprincipes van TypeScript. Daarbij kwamen onderwerpen aan bod zoals het verschil tussen JavaScript en TypeScript, de verschillende primitive types (string, number, boolean, unknown en never), type checking en type inference, het werken met objecten en interfaces en het gebruik van enums en exhaustiveness checks.
Daarna gingen we verder met de meer geavanceerde concepten. We hebben besproken hoe je types kunt combineren met union en intersection types, hoe utility types zoals Partial, Pick en Omit het werken met bestaande types eenvoudiger maken, en natuurlijk generics, een onderwerp dat soms wat tijd nodig heeft om te landen, maar uiteindelijk enorm krachtig blijkt.
Tot slot bekeken we type narrowing (met typeof, instanceof en type guards) om binnen verschillende code-paden specifieker met types te kunnen werken.
TypeScript in de praktijk (React)
Tijdens het college vloog de tijd voorbij, waardoor ik niet alles uit dit onderdeel heb kunnen behandelen. Ik heb ervoor gekozen om me te richten op de meest voorkomende voorbeelden, situaties die ik zelf in mijn dagelijkse werk ook regelmatig tegenkom.
We hebben gekeken naar het typen van component props, het gebruik van useState en useEffect met generics en vooral naar wat er gebeurt zodra je webapplicatie gekoppeld is aan een API. In eerdere voorbeelden werkte ik met dummy-data, maar dit keer stonden we stil bij de vraag: “Hoe definieer en gebruik je de types van data die uit een API komen?”. Ook een vraag die vanuit het publiek werd gesteld. Dat was niet ingestudeerd, maar wel een mooie brug. Bedankt daarvoor!
Ik liet zien dat we altijd de interface van het endpoint als uitgangspunt nemen om een view-model interface te maken. Daarin voegen we eventueel extra velden toe die we in de front-end nodig hebben. Wanneer we data weer terugsturen naar de API, mappen we deze vervolgens terug naar de oorspronkelijke interface van het endpoint. Op dat moment zag je echt dat het kwartje begon te vallen, de studenten begrepen hoe TypeScript helpt om de verbinding tussen front-end en back-end duidelijk en betrouwbaarder te maken.
Helaas was er niet genoeg tijd om ook de herbruikbare hook useForm (in combinatie met generics) uitgebreid te behandelen. Ik heb de studenten daarom uitgedaagd om dit onderdeel zelf te verkennen en een eigen versie te bouwen. Uiteindelijk leer je immers het meest door het zelf te doen.
Voorbeelden en oefeningen
Alle voorbeelden en oefeningen uit het gastcollege heb ik verzameld in een GitHub-repository: TypeScript College. Daar vind je per blok de demo’s inclusief uitleg en de opdrachten terug, zodat de studenten (en misschien jij ook wel) er zelf mee aan de slag kunnen.
Ben jij, of ken jij iemand, die op zoek is naar een gastspreker met expertise in IT en de verssector? Neem dan gerust contact met ons op.