240 likes | 470 Views
TypeScript. Orde in de chaos!. Over mij. Patrick Schmidt (Microsoft Certified Trainer) Trainer bij 4DotNet Mede- oprichter en architect BesteProduct.nl. Over 4DotNet.
E N D
TypeScript Orde in de chaos!
Over mij • Patrick Schmidt (Microsoft Certified Trainer) • Trainer bij 4DotNet • Mede-oprichter en architect BesteProduct.nl
Over 4DotNet 4DotNet is een specialist op het gebied van software development en het Microsoft .NET Framework. Wij ondersteunen onze klanten met de volgende diensten: • Detachering (van .NET software ontwikkelaars) • Consultancy(advies over architectuur, project begeleiding) • Trainingen (officiële Microsoft Learning Partner) • Coaching(maatwerk training on-the-job)
Programma • Over JavaScript. • Wat is TypeScript? • JavaScript vs TypeScript • Asynchronous Module Definition (AMD)
Over JavaScript • Gereleased in 1996 onder de naam LiveScript • Prototype basedscriptinglanguage • Weaklytyped. • Zowel server side als client side. • Wordt steeds meer ingezet voor complexe applicaties.
TypeScriptto the rescue • Brengtorde in de JavaScript chaos. • Typed superset op JavaScript (ECMAScript 6) • Werktdaarom prima samen met bestaandeJavaScriptcode • Wordtgecompileerdnaar JavaScript (tsc.exe) • Vollediggeïntegreerd in Visual Studio 2013
Wat zijn de alternatieven? • CoffeeScript • Momenteel de populairste • Eigen syntax • Integreert redelijk goed met bestaande JavaScript code • Lastig te debuggen • Dart • Google initiatief • Eigen taal. Heeft veel weg van Java • Bestaande JavaScript code is moeilijk te integreren
TypeScript vs JavaScript • Object GeörienteerdProgrammeren • Modules • Interfaces • Bottom line: De uitkomstblijft JavaScript
OOP en JavaScript • Kaneigenlijkniet, maar met enigkunst- en vliegwerkweltedoen. • Encapsulation d.m.v. closures • Inheritance d.m.v. prototype chaining • Polymorphism… Alleslijktwelpolymorf in JavaScript
OOP en TypeScript? • Geeft het gevoeldat je object georienteerdwerkt. • Converteertnaarstandaard JavaScript patronen. • We hebben: • Classen • Interfaces • Generics
Demo • OOP in JavaScript en TypeScript
Modules en JavaScript • Ookhiergeldtweer: Kaneigenlijkniet, maar • met closures is veeltebereiken (IIFE’s)
Modules in TypeScript • Twee soorten: • Inline • Externe (later meerhierover) • Gebruikt het keyword module • Maaktonderdelen public dmv het keyword export
Demo • Modules in JavaScript en TypeScript
Interfaces in TypeScript • Is aanwezig, maar is in de gegenereerde JavaScript nietterugtevinden. • Om conceptuele context teduiden. • Om anoniemeobjectenmeetedocumenteren • Handigvoorintellisense.
Demo • Interfaces in TypeScript
Asynchronous Module Definition • Laadt modules asynchroon in • Gebruikt RequireJS • tsc.exe –module amdmodule.ts • In Visual Studio 2013 eenvoudig de module blokken weglaten (worden gegenereerd volgens RequireJS standaarden)
Demo • AMD in action
Tot slot • JavaScript wordtalstaal steeds vakeringezet. Ookbuiten browsers. (NodeJS, Windows Store Apps) • TypeScriptneemtcomplexiteiten JavaScript weg. • Groot voordeelTypeScript: Is eenuitbreiding op JavaScript (anticipeert op toekomstige specificities) • Met AMD eenzeerkrachtigeoplossingvooruitgebreide en complexeapplicaties.
Handige Sites • http://www.typescriptlang.org • http://www.codebelt.com/ • http://channel9.msdn.com/Events/Build/2014/3-576 • https://github.com/borisyankov/DefinitelyTyped
Vragen? • Neem voor meer informatie over deze sessie contact op met 4DotNet op 0522-241448 of stuur een e-mail naar trainingen@4dotnet.nl • Houdt ook zeker onze Events @4DotNet website in de gaten: http://events.4dotnet.nl