Technologie · TypeScript

Een applicatie laten bouwen met TypeScript.

TypeScript kan helpen om een groeiende codebasis overzichtelijk te houden. We bespreken waar het past binnen je applicatie: in interactieve schermen, gedeelde onderdelen of een JavaScript-gebaseerde backend.

Programmeertaal die voortbouwt op JavaScriptWerkt naast een bestaande PHP-backendStapsgewijs in te voeren in bestaande code
Planner van een transportbedrijf werkt in een interactief dashboard en sleept een rit naar een andere chauffeur
Herkenbaar?

Wanneer komt TypeScript in beeld?

TypeScript is een programmeertaal die voortbouwt op JavaScript. De vraag ernaar ontstaat meestal wanneer een JavaScript-project groeit.

Fouten duiken pas op bij gebruikers

Een veld heet ineens anders of ontbreekt, en dat merkt pas iemand die het scherm gebruikt.

De voorkant is steeds complexer

Dashboards, filters en formulieren hangen van elkaar af. Overzicht houden in de code kost moeite.

Meerdere ontwikkelaars aan dezelfde code

Zonder duidelijke afspraken over de vorm van gegevens werkt iedereen net iets anders.

Aanpassen voelt riskant

Je weet niet goed welke onderdelen geraakt worden als je één functie wijzigt.

Typecontrole tijdens het ontwikkelen

Een fout zien voordat de gebruiker hem ziet.

Zo werkt typecontrole in de praktijk: de afspraak over de vorm van een gegeven staat in de code, en de editor waarschuwt zodra iets daar niet aan voldoet.

  1. 1

    Afspraak vastleggen

  2. 2

    Ontwikkelaar maakt een fout

  3. 3

    Hersteld en getest

Voorbeeldsituatie met fictieve gegevens. Typecontrole vangt bepaalde fouten tijdens het ontwikkelen; tests en controle blijven nodig.

Wat voegt TypeScript toe?

JavaScript, maar met afspraken over je gegevens.

TypeScript voegt typecontrole toe aan JavaScript tijdens het ontwikkelen. Daarmee kunnen bepaalde fouten eerder zichtbaar worden, bijvoorbeeld een ontbrekend veld of een verkeerd soort waarde.

Het vervangt geen tests en controleert binnenkomende gegevens niet automatisch tijdens het gebruik. Voordat de code draait, wordt TypeScript omgezet naar gewoon JavaScript.

  • Typecontrole in de editor, tijdens het ontwikkelen
  • Duidelijke afspraken over de vorm van gegevens
  • Tests en validatie blijven nodig
Voor interactieve toepassingen

Schermen die samenwerken, met heldere gegevensstromen.

Een dashboard, portaal of omgeving met veel gebruikersinteractie kan uit meerdere samenwerkende onderdelen bestaan. We ontwerpen de gegevensstromen en maken duidelijk hoe schermen met de backend communiceren.

TypeScript wordt vaak gecombineerd met een bibliotheek als React. Die bouwt de schermen; TypeScript beschrijft welke gegevens die schermen verwachten.

  • Dashboards, filters en planningsoverzichten
  • Gedeelde types voor scherm en API
  • Combinatie met React of een andere bibliotheek
Interactieve schermen met React
Ontwikkelaar werkt aan zijn bureau met twee monitoren aan de schermen van een webapplicatie
Een nieuwe basis of gefaseerde invoering

Niet alles tegelijk: stap voor stap overstappen.

In een bestaand JavaScript-project kan TypeScript soms stapsgewijs worden ingevoerd. We beoordelen de structuur en afhankelijkheden en bepalen welke aanpak de minste onnodige verstoring geeft.

Bij een nieuwe toepassing kun je direct met TypeScript beginnen. Dan leggen we de belangrijkste types vanaf de start vast.

  • Beoordeling van de huidige JavaScript-code
  • Eerst de onderdelen die het vaakst wijzigen
  • De applicatie blijft tijdens de overstap werken
TypeScript naast PHP

Je PHP-backend mag gewoon blijven.

TypeScript hoeft een PHP-backend niet te vervangen. De talen kunnen samen worden gebruikt voor verschillende onderdelen van een applicatie. We kiezen de combinatie die past bij de bestaande omgeving en het onderhoud.

Een veelvoorkomende opzet: een TypeScript-interface in de browser, die via een API gegevens ophaalt bij een PHP- of Laravel-backend.

  • TypeScript voor de interactieve schermen
  • PHP of Node.js voor gegevens en bedrijfsregels
  • Een API als vaste afspraak tussen beide
Samenwerken met een PHP-backend
Ontwikkelaar schetst samen met een opdrachtgever op een whiteboard hoe schermen, API en backend samenwerken
Toepassingen

Waar TypeScript een rol kan spelen.

TypeScript is breed inzetbaar. Dit zijn onderdelen van een applicatie waar het vaak wordt gebruikt.

Dashboards

Overzichten met filters, grafieken en live bijgewerkte gegevens.

Klantportalen

Een interactieve omgeving waarin klanten zelf aanvragen en documenten beheren.

Planningsschermen

Slepen, verplaatsen en direct zien wat een wijziging betekent.

Gedeelde API-types

Eén beschrijving van je gegevens die voorkant en backend allebei gebruiken.

Node.js-backends

TypeScript kan ook aan de serverkant draaien, bijvoorbeeld voor een API.

Bestaande JavaScript-code

Gefaseerd overstappen, zodat een groeiend project overzichtelijk blijft.

Aanpak

Zo pakken we het samen aan.

Meer over onze werkwijze
  1. 01

    Je bedrijf begrijpen

    We praten met jou en de mensen die er dagelijks mee werken, en brengen in kaart waar software het verschil maakt.

  2. 02

    Aanpak en eerste scope

    Je krijgt een voorstel voor een afgebakende eerste versie: wat erin zit, wat later komt en wat het kost.

  3. 03

    Bouwen, testen, bespreken

    We bouwen in korte stappen en testen elke stap. Je ziet tussentijds werkende onderdelen en geeft feedback.

  4. 04

    In gebruik en verbeteren

    We zetten het live, helpen je team op weg en blijven verbeteren als je bedrijf verandert.

Investering

Wat bepaalt de investering?

Bij een nieuwe applicatie bepalen de schermen, de gegevensstromen en de koppelingen met de backend de omvang. Bij een bestaand JavaScript-project spelen de grootte en structuur van de code mee, en hoe ver je de overstap wilt doorvoeren. We bespreken eerst wat je wilt bereiken en maken op basis daarvan een voorstel voor een eerste stap.

Vraag een voorstel aan
Gids

TypeScript applicatie laten bouwen: de complete gids.

Overweeg je een applicatie te laten bouwen in TypeScript of een bestaand project om te zetten? Hieronder lees je wat TypeScript is, wat het wel en niet oplost, hoe het samenwerkt met PHP en waar je op let bij de keuze.

Wat is TypeScript?

TypeScript is een programmeertaal die voortbouwt op JavaScript. Alles wat in JavaScript werkt, werkt in principe ook in TypeScript. Het verschil is dat je in TypeScript kunt vastleggen welke vorm je gegevens hebben: dat een klant een naam heeft, dat een bedrag een getal is en dat een status maar een paar waarden kan aannemen. Dat maakt het makkelijk om bestaande JavaScript-kennis en -pakketten te blijven gebruiken, terwijl je er een extra laag van controle aan toevoegt.

Voordat de code draait, wordt TypeScript omgezet naar gewoon JavaScript. De browser of server ziet dus nooit TypeScript zelf. Het voordeel zit in de fase daarvoor: tijdens het ontwikkelen controleert de editor of de code zich aan de afspraken houdt en waarschuwt bij afwijkingen. Ook helpt de editor met aanvullen: een ontwikkelaar ziet direct welke velden een object heeft en welke functies beschikbaar zijn. In een groot project scheelt dat zoekwerk en maakt het de code beter leesbaar voor nieuwe teamleden.

Wat TypeScript wel en niet oplost

Typecontrole kan bepaalde fouten eerder zichtbaar maken, zoals een vergeten veld, een verkeerd gespelde eigenschap of een functie die een ander soort gegevens krijgt dan verwacht. In een groeiende codebasis, waar meerdere ontwikkelaars aan werken, helpt dat om overzicht te houden en wijzigingen met meer vertrouwen door te voeren. Wijzig je bijvoorbeeld de naam van een veld, dan toont de editor meteen alle plekken in de code waar dat veld nog op de oude manier wordt gebruikt.

TypeScript is echter geen vervanging voor tests en controleert binnenkomende gegevens niet automatisch tijdens het gebruik. Wat een gebruiker invult of wat een extern systeem aanlevert, moet nog steeds worden gevalideerd. Ook beveiliging vraagt meer: toegangscontrole aan de serverkant, validatie en tests. TypeScript is een hulpmiddel bij het ontwikkelen, geen garantie. Wie verwacht dat software foutloos wordt door alleen een andere taal te kiezen, komt bedrogen uit. TypeScript is één onderdeel van een zorgvuldige werkwijze.

TypeScript, JavaScript, React en Node.js: het verschil

Deze termen worden vaak door elkaar gebruikt, maar zijn niet hetzelfde. JavaScript is de programmeertaal die in elke browser draait. TypeScript is een taal die daarop voortbouwt met typecontrole. React is geen taal, maar een bibliotheek om gebruikersinterfaces te bouwen; die kun je met JavaScript of TypeScript gebruiken. React helpt om schermen op te bouwen uit herbruikbare onderdelen; TypeScript helpt om vast te leggen welke gegevens die onderdelen verwachten. Ze worden vaak samen gebruikt, maar zijn los van elkaar te kiezen.

Node.js is evenmin een taal. Het is een runtime: een omgeving waarmee JavaScript, en na omzetting ook TypeScript, aan de serverkant kan draaien. Een applicatie kan dus bestaan uit een React-voorkant in TypeScript met een Node.js-backend, maar net zo goed uit een TypeScript-voorkant met een PHP-backend. Het onderscheid is meer dan woordkeuze. Wie een TypeScript ontwikkelaar zoekt, zoekt eigenlijk iemand die de hele combinatie overziet: de taal, de bibliotheken, de runtime en de manier waarop alles samenwerkt met de backend en je bestaande systemen.

Wanneer past een TypeScript applicatie?

TypeScript past vooral bij applicaties met veel interactie in de browser: dashboards, planningsschermen, portalen waarin gebruikers veel taken uitvoeren. Daar bestaan schermen uit samenwerkende onderdelen die dezelfde gegevens delen, en helpen duidelijke afspraken om fouten te voorkomen bij het uitbreiden. Ook als meerdere ontwikkelaars tegelijk aan de applicatie werken, of als het project over een aantal jaren nog moet worden uitgebreid, weegt dat voordeel zwaarder. De afspraken in de code dienen dan als een vorm van documentatie die met de code meegroeit.

Voor een eenvoudige website met een paar formulieren is het vaak niet nodig. En als je bestaande applicatie draait op PHP met weinig interactieve schermen, is er geen reden om alleen voor TypeScript iets te vervangen. We kijken naar de functies, de huidige code en wie het onderhoud doet, en adviseren op basis daarvan. Een goed advies is daarom altijd een afweging tussen wat TypeScript oplevert en wat een overstap kost aan tijd en aandacht.

Een bestaand JavaScript-project omzetten

Een groot voordeel van TypeScript is dat je niet alles in één keer hoeft om te zetten. JavaScript en TypeScript kunnen in hetzelfde project naast elkaar bestaan. Je kunt beginnen met de types voor je belangrijkste gegevens, zoals wat de API teruggeeft, en daarna per scherm of module verder gaan. Op die manier blijft de applicatie in gebruik terwijl de codebasis stap voor stap overzichtelijker wordt. Je hoeft het werk dus niet stil te leggen voor een grote verbouwing.

Voordat we zo’n overstap adviseren, beoordelen we de structuur van de code, de gebruikte pakketten en hoe er nu wordt getest en uitgerold. Soms is een gefaseerde invoering zinvol, soms levert het te weinig op voor de moeite. Die afweging maken we samen, met de bedrijfsvoering als uitgangspunt. Zinvol is het vooral als de code nog jaren meegaat en regelmatig wordt uitgebreid. Bij een applicatie die nauwelijks meer verandert, is de winst vaak beperkt en kan de tijd beter naar andere verbeteringen gaan.

TypeScript en PHP in één applicatie

Een veelgestelde vraag is of je moet kiezen tussen PHP en TypeScript. Vaak is dat niet nodig. PHP kan de serverkant verzorgen: gegevens, rechten en bedrijfsregels. TypeScript kan de interactieve schermen in de browser verzorgen. Ze communiceren via een API, een afgesproken manier om gegevens uit te wisselen. Met een duidelijke beschrijving van de API weten beide kanten precies welke gegevens er worden uitgewisseld. Op basis van zo’n beschrijving kunnen de TypeScript-types soms zelfs automatisch worden aangemaakt, zodat voorkant en backend niet uit elkaar lopen.

Zo kan een werkend PHP- of Laravel-systeem blijven bestaan, terwijl de gebruikersomgeving wordt vernieuwd. Belangrijk is dat de afspraken tussen voorkant en backend helder zijn vastgelegd. Rechten en bedrijfsregels horen altijd aan de serverkant te worden gecontroleerd, ook als de voorkant al veel controleert. Zo combineer je een vertrouwde backend met al je bestaande bedrijfslogica en een moderne gebruikersomgeving waarin je team prettig werkt. Het onderhoud van beide delen spreken we vooraf af, zodat duidelijk is wie wat beheert.

Hoe we met je naar TypeScript kijken

We beginnen niet bij de taal, maar bij wat je applicatie moet doen. Welke schermen zijn er, hoe complex is de interactie en wat bestaat er al? Pas daarna bepalen we of TypeScript past, en in welk deel van de applicatie. Die keuze leggen we uit in begrijpelijke taal, met de voor- en nadelen erbij. Ook bekijken we of je eigen team of een andere partij de code later moet kunnen onderhouden, want dat bepaalt mede welke keuze verstandig is.

We starten bij voorkeur met een afgebakende eerste stap, zoals één scherm of één module, zodat je kunt beoordelen of de aanpak werkt voordat je verder investeert. Onze AI-first werkwijze helpt bij onderzoeken, ontwerpen, programmeren en testen. Een ontwikkelaar beslist, controleert en is verantwoordelijk, en niets gaat live zonder controle. Wil je weten of TypeScript bij jouw situatie past? Vertel ons wat je wilt bouwen of verbeteren, dan bespreken we de mogelijkheden.

Veelgestelde vragen

Veelgestelde vragen over TypeScript.

Staat je vraag er niet bij? Bel 010 – 303 03 40 of stuur ons een bericht.

Nee. TypeScript is een programmeertaal; React is een bibliotheek voor gebruikersinterfaces die met TypeScript kan worden gebruikt.

Lilo steekt zijn duim omhoog

Waar loopt jouw bedrijf tegenaan?

Vertel ons wat je wilt verbeteren. Je hoeft nog geen uitgewerkt plan te hebben. We bespreken je situatie en kijken welke volgende stap past.

Je hoeft nog geen specificatie te hebben. We reageren binnen één werkdag. Liever bellen? 010 303 03 40

We gebruiken je gegevens alleen om je vraag te beantwoorden. Lees de privacyverklaring.