ORDINA BLOGT

TypeScript – JavaScript voor de .NET’er!

JavaScript is overal - JavaScript heeft de laatste jaren een enorme groei gekend. Ondertussen zijn ontelbare front-end JavaScript frameworks de kop opgedoken, zoals AngularJS, React, Meteor etc. Maar JavaScript is ondertussen overal te vinden, op de front- én back-end van een website, maar er zijn ook manieren om desktopapplicaties te schrijven door gebruik te maken van webtechnologieën.

  • Mathias Schaemelhout
  • 19 februari 2016

Nu de complexiteit van onze JavaScript-applicaties dus groeit, hebben we ook wel betere execution engines in onze browsers gekregen (zoals de Chakra engine in Internet Explorer en Microsoft Edge), maar... grotere applicaties schrijven in JavaScript blijft moeilijk.
Javascript is op zich nooit een programmeertaal geweest om effectief grote applicaties mee te gaan schrijven. Het is een scripting-taal en heeft bijvoorbeeld geen static typing, maar wat vooral ontbreekt is een structureel mechanisme die je nodig hebt in grote en complexe applicaties zoals klasses, modules en interfaces.

Er zijn natuurlijk al lang meerdere frameworks die andere programmeertalen zoals C# gaan compileren naar JavaScript om al deze features te kunnen gaan gebruiken en die ook de geweldige Microsoft tooling zoals Visual Studio met zich mee brengen, maar dat wil wel zeggen dat je applicaties in C# worden geprogrammeerd, en niet in JavaScript. En wanneer je dan iets wil gaan gebruiken uit de JavaScript community zoals bepaalde populaire libraries, moet je die eerst gaan encapsuleren alvorens deze bruikbaar zijn vanuit je gekozen framework.

Wat als je nu dus JavaScript kan gaan versterken met de dingen die er ontbreken voor het ontwikkelen van grote applicaties, zoals static typing, klasses, interfaces...?

Enter TypeScript

Daar komt TypeScript van pas.
Typescript is een taal – gecreëerd door Microsoft – om grote en robuuste javascript applicaties te kunnen gaan schrijven op een gemakkelijke en veilige manier.
Op zich is het een superset van JavaScript die op zich gecompileerd wordt naar standaard JavaScript. Wanneer je dus TypeScript gebruikt, zal er dus gewoon pure JavaScript uitgevoerd worden in de browser. Dit wil ook zeggen dat de compiler en de gecompileerde code dan ook in elke browser, op elke host en op elk besturingssysteem zal gaan werken.

Deze zijn ook allemaal Open Source.

De belangrijkste voordelen van TypeScript opgelijst:

  • Validatie – Je JavaScript code wordt gevalideerd bij het compileren en de compiler zal fouten vinden die vroeger enkel bij het uitvoeren van de code de kop opstaken.
  • ES6 – TypeScript is conform met de laatste versie van ECMAScript (ES), en ondersteunt zelfs experimentele functies van de volgende versie. ECMAScript is de universele standaard waar JavaScript op gebaseerd is.
  • Angular 2 – De volgende versie van het meest populaire JavaScript framework – AngularJS – is gebouwd met behulp van TypeScript. Een mooie samenwerking tussen Google en Microsoft.
  • Refactoring – Bij het rafactoren laat de compiler je meteen zien waar de nodige aanpassingen moeten gebeuren. Methodenamen, datatypes, variabelen, pas deze aan of verwijder ze en je ziet meteen welke dependencies aangepast moeten worden om alles terug werkende te krijgen. Dit zorgt ook voor veel gedetailleerdere errors.

Alle toevoegingen aan TypeScript zijn op zich optioneel, dus alle standaard JavaScript is op zich ook TypeScript en zal kunnen gecompileerd worden. Dit maakt dan ook dat alle libraries compatibel zijn om te gaan gebruiken in TypeScript (Node, jQuery, undercore...). Om externe libraries te gaan gebruiken moet je wel een declaration file gebruiken, om de library zelf te gaan beschrijven en de juiste IntelliSense te krijgen. Voor de meeste bestaande libraries zijn er ondertussen declaration files beschikbaar.

 

Conclusie

TypeScript kan dus gebruikt worden om de nodige structuur in je JavaScript project te stoppen en deze veel onderhoudbaarder te maken, maar toch de flexibiliteit van JavaScript te gaan behouden.
Voor C# ontwikkelaars doet het je meteen meer thuis voelen in de JavaScript wereld.
De populariteit van de taal is nog steeds aan het stijgen, onderandere vanwege het gebruik door meerdere grote front-end frameworks zoals Angular.

TypeScript is ook Open Source en is gehost op GitHub, ga gerust een kijkje nemen!

 

Follow me @Schaemelhout