Dit is het webblog van Peter Kassenaar - Ik geef training en consultancy in het maken van crossplatform mobiele apps en webapps. Trefwoorden: AngularJS, PhoneGap, jQuery/Mobile. HTML5, CSS3, JavaScript, AJAX, JSON. Ik schrijf boeken en artikelen over tal van (ICT-) onderwerpen. Ik was lead developer en directeur bij Yindo - Jouw digitale bibliotheek. Je kunt mij volgen op Twitter.(@PeterKassenaar)

Terug naar de algemene site.

12juni

Angular 2 – leren en begrijpen

Al eerder schreef ik over de online training Angular 2 – Leren en begrijpen die ik aan het ontwikkelen ben. Het doet me plezier te kunnen melden dat deze training nu gereed is en is goedgekeurd door het online trainingsplatform Udemy. De training is vanaf vandaag te vinden op:

https://www.udemy.com/angular-2-leren-en-begrijpen/

angular2-bij-udemy

De training heeft onder meer de volgende kenmerken:

  • Videotraining – beschikbaar op pc, laptop, smartphone en tablet, via de Udemy App.
  • 90+ video’s en 5,5 uur videomateriaal.
  • Korte lessen (4-6 minuten), met telkens één onderwerp.
  • Oefeningen in PDF-formaat zodat je zelf aan de slag kunt met Angular 2.
  • Talloze extra resources en webadressen voor meer informatie.

Zie https://www.udemy.com/angular-2-leren-en-begrijpen/ (verder naar beneden, onder Curriculum) voor een complete inhoudsopgave:

Inhoudsopgave van Angular 2 - Leren en begrijpen

 

Als je specifieke vragen hebt over de training, tips voor verbetering van de inhoud of voor nieuwe trainingen, aarzel dan niet om contact op te nemen of een mailtje te sturen naar info@kassenaar.com!

Experiment

Het is ook voor mij een experiment, om te bekijken of hier in het Nederlandse en Belgische taalgebied voldoende animo voor is. Udemy is een platform dat op dit moment voornamelijk Engelstalige trainingen aanbied (op dit moment kon ik 14 andere Nederlandstalige trainingen ontdekken). Het heeft echter wel ambities om ook een belangrijke rol in andere markten te gaan spelen. Er zijn onder meer al Spaanse, Duitse en Chinese varianten.

Kortingscode

Als je al eerder een kortingscode hebt aangevraagd, dan heb je hierover inmiddels een mailtje ontvangen. Wil je alsnog aanmelden voor een kortingscode voor vroege vogels, dan kan dit nog tot 1 augustus 2016. Stuur een mailtje naar info@kassenaar.com met als onderwerp Udemy – Angular 2 en ik mail je terug met een code en instructies om deze in te wisselen.

Ik ben benieuwd naar jullie reacties,

Ondertussen veel succes met Angular 2!

--Peter Kassenaar
12 juni 2016

 

02juni

Online training Angular 2 – update

angular2-leren-begrijpen-promo-image

Op dit moment ben ik bezig met de ontwikkeling van de training “Angular 2 – leren en begrijpen”. Deze zal worden gepubliceerd op het online learningplatform Udemy.

Het was de bedoeling dat deze training medio mei 2016 zou verschijnen. Dat is helaas niet gelukt.

Ik ben er druk mee bezig, maar het opnemen en bewerken van de video’s duurt in combinatie met mijn overige werk langer dan ik vooraf had ingeschat.

Bovendien is het framework zelf zoals je wellicht hebt gezien nog druk in ontwikkeling. Met name de Router is de afgelopen weken flink onder handen genomen. De oorspronkelijke router is nu als ‘deprecated’ aangemerkt – terwijl de nieuwe router nog niet gereed is. (https://angular.io/docs/ts/latest/guide/router-deprecated.html) . Zowel de router zelf, als de documentatie hierover is nog niet klaar.

Het is daarom een lastige beslissing: Maak ik de module over routing (waar ik juist mee bezig was) op basis van de nu verouderde router, of ga ik toch alvast de nieuwe router gebruiken (die dus nog niet klaar is)?

Keuzes, keuzes ;-)

Ik heb toch besloten de bestaande routermodule opnieuw te gaan maken, met de nieuwe router, en de onderdelen die op het moment van opnemen nog niet gereed zijn aan te geven. Zodra de router wel klaar is, hoop ik vervolgens op een later tijdstip de training aan te vullen.

Dat betekende helaas echter wel weer een nieuwe vertraging.

De vernieuwde planning is dat de training Angular 2 over ongeveer 2 – 2,5 weken klaar is, medio juni 2016.

Mocht je ondertussen vragen hebben, aarzel dan niet om nader contact op te nemen.

Uiteraard kun je je nog altijd aanmelden voor een kortingscode.

Stay tuned, bedankt voor je geduld!

-- Peter Kassenaar
2 juni 2016

26april

Web Development Library–Angular 2

Web Development Library - Angular 2

Deze week is Web Development Library – Angular 2 verschenen. Angular 2 is een modern framework voor webdevelopment en is de opvolger van AngularJS. Maar behalve de naam is er maar weinig dat de twee frameworks met elkaar gemeen hebben. Angular 2 heeft een totaal nieuwe syntaxis en benadering voor zowel de front-endcode (in de templates en HTML) als de logica. Er wordt nu gewerkt met ECMAScript 2015-classes in plaats van JavaScript-functies.

Angular 2 is dan ook geen eenvoudig framework om te leren. Deze uitgave helpt u daarbij!

Specficaties

  • Boek, paperback, 240 pagina’s.
  • ISBN-13: 978-90-5940-868-5 (9789059408685)
  • Geschikt voor opleidingen en zelfstudie
  • Onafhankelijk van gebruikte platform en browser
  • Prijs: EUR 29,95

Van de flaptekst

“In dit deel van de Web Development Library leert u werken met de nieuwe, op componenten gebaseerde manier om webapplicaties te programmeren. U maakt kennis met de vernieuwde wijze van databinding, services, observables, routing en andere belangrijke Angular 2-concepten. Aan het einde gaan we kort in op het upgraden van AngularJS 1.x-applicaties naar Angular 2. Daarnaast leert u werken met bijkomende tools en programmeertalen zoals Node.js, TypeScript en ECMAScript 2015.

Tot de behandelde onderwerpen behoren:

  • Kennismaken met Angular 2
  • Hello World in Angular 2 – uw eerste component
  • Databinding op allerlei manieren
  • Datavoorziening met services
  • Asynchrone services – gegevens ophalen uit databases
  • Angular-applicaties als boomstructuur van componenten
  • Routing
  • Meer over Angular 2 – pipes, formulieren en upgraden

Meer informatie en downloads zijn te vinden op www.webdevelopmentlibrary.nl.”

Direct bestellen

Peter Kassenaar
-- 26 april 2016

01april

Binnenkort: online training Angular 2

Er gebeurt razend veel op het gebied van frontend-development.  Het lijkt alsof er elke week een nieuw JavaScript-framework uit de grond schiet. Hierbij zijn AngularJS en Angular 2 de laatste tijd het populairst geworden. Maar hoe blijf je nu op de hoogte van de belangrijkste ontwikkelingen? De een leert door simpelweg te Googelen zodra een vraag zich aandient, de ander door bepaalde tags op StackOverflow te volgen.

TL;DR – Stuur een e-mail naar info@kassenaar.com met als onderwerp Udemy – Angular 2 als je geheel vrijblijvend een introductie/kortingscode wilt ontvangen voor de online training Angular 2 – leren en begrijpen die eind april 2016 verschijnt.

Vaak heb je dan echter het idee “mis ik niet iets? Is deze informatie wel volledig? Is er geen simpeler manier om techniek ABC of XYZ uit te voeren?”. Of de blogpost die je tegenkomt vereist al voorkennis waarover je op dat moment nog niet beschikt.

Om die reden is het een goed idee om een traditionele training te volgen of een leerboek te volgen. Echter, iedereen heeft een andere leerstrategie.

  • Niet iedereen heeft tijd of budget voor een klassikale (of 1:1-) training.
  • Niet iedereen is een lezer en kan de rust opbrengen om een leerboek (bijvoorbeeld uit de Web Development Library) door te nemen.
  • Ook traditionele e-learningsystemen zijn niet altijd een oplossing. Ze vereisen de installatie van bepaalde software, of zijn rigide in uitvoering (“je mag pas verder met les 3 als je hebt aangetoond les 1 en 2 te beheersen”).

Om die reden ben ik verheugd dat ik hierbij kan aankondigen dat ik behalve een boek over Angular 2 later deze maand ook een online training over Angular 2 zal publiceren. Dan kun je zelf kiezen hoe je het liefste iets nieuws leert.

“Angular 2 – leren en begrijpen”

angular2-leren-begrijpen-promo-image

De online training heeft de volgende kenmerken:

  • 70+ instructievideo’s waarin Angular 2 vanaf het begin wordt uitgelegd en toegepast. Je ziet niet alleen de codevoorbeelden, maar je begrijpt ook echt wat je aan het doen bent.
  • 5+ uur video-informatie over Angular 2.
  • Aanvullende resources in de vorm van hyperlinks naar nuttige online informatie.
  • PDF’s met oefeningen die je achter je eigen computer kunt uitvoeren. Gaandeweg maak je je eigen, end-to-end Angular 2-applicatie.
  • Tot de behandelde onderwerpen behoren:
    • Kennismaken met Angular 2
    • Je eerste component schrijven
    • Kort kennismaken met TypeScript en ES6/ECMAScript 2015
    • Databinding in Angular-applicaties
    • Werken met directives als *ngFor, *ngIf en meer
    • Services
    • Werken met asynchrone data: Http en Observables.
    • Apps samenstellen uit meerdere componenten
    • Routing
    • Formulieren
    • Pipes
    • Authentication
    • Upgraden van Angular 1 naar Angular 2
  • Om onderscheidend te zijn van al het Engelstalige materiaal dat al op internet beschikbaar is, zal de training volledig in het Nederlands zijn en afgestemd op de Nederlandse en Belgische markt.

Udemy

De training zal gepubliceerd worden op het online trainingsplatform Udemy. Hier zijn ook talloze trainingen over andere onderwerpen beschikbaar. De prijs van deze trainingen is vaak aantrekkelijk en beduidend goedkoper dan een klassikale training.

Computer en tablet

De trainingen van Udemy zijn uiteraard op een computer of laptop te volgen (dat zou ik zeker aanbevelen als je ook de oefeningen wilt uitvoeren om jezelf echt te ontwikkelen!), maar zijn ook beschikbaar via de Udemy-app die beschikbaar is in de Google Play Store of Apple App Store.

Prijs

De prijs van de training Angular 2 – Leren en begrijpen is nog niet 100% zeker, maar ik streef naar een bedrag van ongeveer EUR 50,-. Dat is minder dan EUR 1,- per video!

Kortingscode

Als je interesse hebt in deze training, stuur dan een mailtje naar info@kassenaar.com, met als onderwerpregel Udemy – Angular 2. Zodra de training verschenen is (naar verwachting: eind april 2016) zal ik je dan een persoonlijke en vrijblijvende kortingscode mailen waarmee je 40% korting op de aanschafprijs ontvangt. De code is vervolgens geldig tot 01-07-2016. Uiteraard wordt je e-mailadres niet voor andere doeleinden gebruikt.

Vanzelfsprekend kun je ook dit blog in de gaten houden of mij volgen op Twitter, via @PeterKassenaar. Hier post ik altijd de laatste statusupdates.

Peter Kassenaar
-- 1 april 2016 (ja, ik wéét dat het 1 april is. Nee, het is geen grap).

27november

Kennismaken met Angular 2

imageOp 26 november 2015 verzorgde ik in samenwerking met Vijfhart IT Opleidingen een webinar over Angular 2. Het was een groot succes. Van de ruim honderd inschrijvers (dit was het aantal plekken dat we op voorhand hadden gereserveerd bij de webinar-provider) waren er meer dan 60 die het hele webinar hebben gevolgd. Elke marketeer zou een moord doen voor 60+% response!. Dus allemaal bedankt voor je aandacht en vragen tijdens het webinar!

Het webinar, dat in totaal ongeveer een uur duurde, bestond uit een theoretisch deel een praktijkdemo. Hierin kwamen de volgende onderdelen aan de orde:

  • Introductie – waarom Angular 2?
  • Angular 2 vs. Angular 1
  • Kenmerken van Angular2
  • Live coding – demo
  • Samenvatting
  • Q & A

Geen video…

Gelukkig konden alle aanwezigen de presentaties goed volgen en horen, maar achteraf bleek dat er geen video-opname was vastgelegd. Dat was balen, want er waren meer inschrijvers dan dat er plek was – en hen was een videodemo na afloop toegezegd.

Om dit euvel te verhelpen heb ik het webinar nog een keer gehouden, maar nu wel met meelopende camera (en zonder publiek…). Dit gaf dan wel weer direct de mogelijkheid een paar schoonheidsfoutjes te verwijderen die er gedurende een live-uitzending altijd insluipen.

…dus een re-recording

De re-recording van dit webinar heb ik in twee delen op YouTube geplaatst, zodat je het nog eens kunt terugkijken. Daarbij is het complete webinar in twee delen gesplitst:

Downloads

Je kunt ook de presentatie downloaden als PDF en de code die tijdens de demo is gemaakt.

Wil je zelf een training Angular 2 volgen, kijk dan bijvoorbeeld bij Vijfhart of neem rechtstreeks contact op!

-- Peter Kassenaar
27 november 2015

13november

Training AngularJS en webinar Angular 2

Logo AngularJSDe vraag naar trainingen AngularJS is onverminderd groot. Ook met de aanstaande release van Angular 2 (zie verderop) is de rol van Angular 1 beslist nog niet uitgespeeld. De frameworks zullen de komende jaren naast elkaar blijven bestaan. Ik schreef hier bijvoorbeeld al eerder over:

Laatste training in 2015

Wil je nog in 2015 alles te weten komen over AngularJS (versie 1.4), dan heb je nog één kans: op 23, 24 en 25 november geef ik deze training in Nieuwegein, voor Vijfhart IT Opleidingen. Meer informatie en inschrijven kan op deze pagina: Single Page Applications with AngularJS.

Vijfhart heeft bovendien een aantrekkelijke eindejaars-kortingsactie, waardoor je wellicht behoorlijk kunt besparen op de cursuskosten.

Webinar Angular 2

imageAansluitend, op donderdag 26 november, organiseren we van 20:00-21:00 een (uiteraard gratis) webinar, waarin ik vooruitblik naar de komst van Angular 2. Dit webinar kun je thuis, achter je eigen pc volgen. Wel moet je van tevoren inschrijven – we hebben plek voor 100 deelnemers.

Inschrijven voor webinar Angular 2.

In het webinar ga ik onder meer in op de volgende onderwerpen:

  • Waarom Angular 2?
  • Angular 2 vs. Angular 1
  • Kenmerken van Angular 2
  • Live coding – een Angular 2-app maken in 30 minuten.

Na afloop van het webinar kun je de video-opname ervan downloaden en ik zal hem indien mogelijk ook via dit blog beschikbaar stellen.

Heb je nog vragen over Angular 1, Angular 2 of trainingen, aarzel dan niet om nader contact op te nemen.

Peter Kassenaar
-- 13 november 2015

10september

Van AngularJS naar Angular2 - deel 2

In een korte serie blogposts kijk ik vooruit naar de komst van Angular2, de volgende versie van het populaire JavaScript-framework AngularJS. Lees ook het eerste deel van deze serie:

Angular2 logo

Specifieke kenmerken van Angular2

In de vorige blogpost zagen we al dat Angular2 is gebouwd op moderne standaarden die nog niet beschikbaar waren toen de eerste versies van AngularJS het licht zagen. Dat is mooi, maar het betekent wel dat Angular2-projecten voor het grootste deel niet compatibel zullen zijn met bestaande AngularJS-code. Wat is er dan zoal nieuw in Angular2?

ECMAScript 2015

Angular2 zal geheel geschreven zijn in en voor ECMAScript 2015 (voorheen: ‘ECMAScript 6’). Dit is de nieuwste versie van JavaScript die in de zomer van 2015 voltooid is. Langzamerhand zullen browsers steeds meer ECMAScript 2015-kenmerken gaan ondersteunen. Deze versie brengt classes, modules en meer binnen JavaScript. Met nieuwe keywords wordt tevens het principe van generics mogelijk gemaakt in JavaScript. ECMAScript 2015 maakt meer modulaire opbouw van code mogelijk, waarbij het seperation of concerns (SoC)-principe is ingebouwd in het framework. Uiteraard kon dit ook al in AngularJS 1.x-projecten, maar dan moest u er zelf op letten.

TypeScript

TypeScript is een optionele uitbreiding van ECMAScript 2015 waarmee annotaties in JavaScript-code toegevoegd kunnen worden. Zo wordt het voor het eerst in JavaScript bijvoorbeeld mogelijk aan te geven of een parameter een string is, een array of objecten. Met TypeScript kunnen (zoals de naam al aangeeft) en types kunnen worden gedefinieerd in JavaScript die vervolgens ook daadwerkelijk door de JavaScript-compiler in de browser worden afgedwongen. Dit principe kennen we uiteraard al jaren in Java en C#, maar is een ware revolutie in een loosely typed language als JavaScript, die ook nog eens op de client (browser) draait en niet op de server.

Deze eigenschappen zijn niet verrassend overigens, want TypeScript wordt gemaakt door dezelfde Anders Hejlsberg, die ook C# ontwikkeld heeft (en nog veel langer geleden de auteur was van zowel Turbo Pascal als Delphi). Google en Microsoft werken nauw samen bij de ontwikkeling van TypeScript en Angular2.

Module Loader

In AngularJS is het niet mogelijk om ‘lazy loading’ uit te voeren met modules. Alle benodigde scriptbestanden moeten op voorhand bekend zijn en geladen worden, ook al worden ze door de klant vervolgens nooit gebruikt in de app. Er zijn wel omwegen mogelijk in de vorm van extra libraries als require.js, maar het blijft behelpen. In Angular2 is de globale module loader System.js gebruikt. Deze laadt op verzoek ECMAScript 2015-modules, of modules die andere desingprincipes aanhangen, zoals AMD of CommonJS. Alles werkt. U hoeft geen keuze meer te maken. Dit is vooral in grotere projecten uiteraard erg handig.

Componenten

In AngularJS schreef u gewoon HTML-pagina’s die verrijkt werden met ng-* directives om aan te geven dat het betreffende element door Angular behandeld werd. In Angular2 wordt dat anders. De complete app wordt opgebouwd uit componenten. En: elk onderdeel op de pagina is een component: de menubalk, de footer, het inlogformulier, het inhoudsgebied, tabellen met data, enzovoort. Componenten kunnen andere componenten laden. Elke component is als het ware een mini-applicatie die onafhankelijk kan draaien en waarin de afhankelijkheden (dependencies) van andere componenten wordt aangegeven. Via de module loader zoekt Angular de betreffende component op en wordt hij geladen in de component waarin hij nodig is. Een applicatie bestaat op die manier letterlijk uit een boomstructuur (tree) van componenten.

component-tree

Componenten zijn daarmee de vervanger van traditionele directives. Maar ook directives zelf bestaan nog in Angular2. Het verschil is dat componenten een eigen stukje user interface hebben (een view), terwijl directives in Angular2 worden toegepast op een stukje bestaand DOM. Denk bijvoorbeeld aan een tooltip-directive of animatie-directive voor een bestaand DOM-element.

Consistente schrijfwijze

Angular2 biedt voor het eerst een consistente schrijfwijze voor attributen, events en referenties in de pagina (dus eigenlijk: binnen de componenten). Dit zal veel webdesigners en Angular-veteranen afschrikken, omdat de HTML er totaal anders uit komt te zien. De bekende AngularJS-directives als ng-click, ng-bind, ng-app, ng-repeat komen allemaal te vervallen!

  • Waarden van attributen, de properties, worden nu gebonden met blokhaken (als in <div [hidden]="isHidden">).
  • Events worden gebonden met ronde haken, als in <button (click)="handleClick">.
  • Referenties naar een element worden opgegeven met een hashtag <input #firstName …>.

Dit ziet er in het begin bizar uit, maar uiteindelijk is het wel veel consistenter omdat nu aan de linkerkant van het isgelijkteken altijd de handeling wordt aangegeven.

In de oude situatie werd aan de linkerkant van de vergelijking een directive geplaatst, waarbij het framework aan de rechterkant maar moest uitvogelen wat er moet gebeuren (databinden? Waarde in de user interface schrijven? Functie aanroepen op controller?). Dit kostte erg veel performance en maakt het lastig voor tooling en testing om te reageren op AngularJS 1.x-code.

Door deze syntaxis-verandering kunnen tientallen directives vervallen en hoeven nieuwkomers in Angular2 minder dingen te leren. Maar, eerlijk is eerlijk, voor overstappers zal het lastig zijn. Meer dan lastig.

Wilt je meer weten over het hoe-en-waarom van deze designbeslissing, bekijk dan de keynote van Misko Hevery (de oorspronkelijke maker van Angular) op Ng-conf 2015 (www.youtube.com/watch?v=-dMBcqwvYA0) .

Training in Angular2

In oktober ga ik (opnieuw) naar de VS voor conferentie en training over onder meer Angular2. Vanaf medio november 2015 zal ik deze kennis gebruiken om de eerste Angular2-trainingen in Nederland en België op te gaan zetten. Neem contact op als je hier alvast meer over wilt weten.

Medio voorjaar 2016 – zo snel mogelijk na de definitieve releasedatum – schrijf ik een boek over Angular2 in de Web Development Library.

Peter Kassenaar
-- 10 september 2015

07september

Van AngularJS naar Angular2 - deel 1

Introductie

In een korte serie blogposts kijk ik vooruit naar de komst van Angular2, de volgende versie van het populaire JavaScript-framework AngularJS. Ik schreef eerder over AngularJS, bijvoorbeeld:

ng2-01

Een van de populairste frameworks voor webdevelopment de afgelopen jaren was zonder twijfel AngularJS. Waar MVC-applicaties traditioneel het domein van de server waren met .NET MVC en Java Spring als bekendste varianten, bracht AngularJS het MVC-principe naar de browser. De complete app wordt hierbij geschreven in JavaScript en uitgevoerd door de browser.

De rol van de server in dit scenario is voornamelijk nog het authenticeren van gebruikers en het ophalen en serveren van gegevens uit de achterliggende database via een API. Oneerbiedig gezegd zou je kunnen stellen dat een server in dit plaatje niets meer is dan een “JSON-fabriek” die op verzoek van de gebruiker gegevens ophoest. Hierbij chargeer ik uiteraard een beetje, maar het geeft wel aan dat een bedrijf voor dezelfde applicaties veel minder hardware nodig heeft en dus fors kan besparen op aanschaf, onderhoud en beheer van het serverpark. Of omgekeerd: met dezelfde hoeveelheid machines kunnen veel meer bezoekers worden bediend.

Waar hebben we het over? De eerste versie heet AngularJS (alles in de 1.x-codereeks), de tweede versie wordt vaak eenvoudig Angular2, of kortweg ng2 genoemd (alles in de 2.x-codereeks)

AngularJS is populair

AngularJS is dus een grote hit. Het is een van de populairste repositories op Github (een wereldwijde code-sharingdienst voor programmeurs). Ik heb sinds eind 2012 honderden cursisten opgeleid of bijgeschoold in dit framework.

Maar: Angular2 staat voor de deur. En de upgrade van AngularJS naar Angular2 zal niet zonder slag of stoot verlopen. De frameworks zijn grotendeels incompatibel met elkaar! Dit betekent dat bestaande applicaties niet, of slechts tegen aanzienlijke kosten geüpgraded kunnen worden naar Angular2.

Waarom Angular2?

Wat bezielt het Angular-team in vredesnaam? Waarom hebben ze deze moeilijke weg gekozen? Zou het niet veel makkelijker zijn geweest om na 1.4 (de huidige versie) gewoon door te gaan met 1.5, 1.6 en zo verder?

Ja, dat had zeker gekund (en terzijde: ook na het verschijnen van Angular2 zal de 1.x-stack ook onafhankelijk verder ontwikkeld blijven worden, met die al genoemde versies 1.5 en 1.6 en zo verder), maar dan had het framework niet kunnen profiteren van allerlei nieuwe ontwikkelingen in webdesignland.

Immers, er verandert veel voor de webdeveloper. Want hoewel AngularJS nog steeds te boek staat als een ‘nieuw’ framework, stamt de eerste versie alweer uit 2009. Het is dus al ruim zes jaar oud. De huidige codebase is niet geschreven met webtechnieken van nu. ECMASCript 2015, de nieuwe versie van JavaScript staat voor de deur. We kunnen straks ook in JavaScript werken met classes, modules en componenten. TypeScript (een uitbreiding bovenop ECMAScript 2015) gaat deel uitmaken van Angular2. Hiermee komt type-safety binnen het bereik van de webdeveloper. Traditioneel was dit altijd een zwak punt van JavaScript.

Angular2 is nog niet beschikbaar. Er wordt veel gesproken en geblogd over Angular2, maar laten we niet vergeten dat het framework op dit moment nog niet gereed is. Het verkeert nog in de alpha-fase. Veel online voorbeelden die je op dit moment ziet, werken allen met die specifieke versie van Angular2. Er vinden continu aanpassingen plaats. Als mogelijke releasedatum wordt gesproken over Q4-2015 tot Q2-2016.

Wildgroei in het framework

De huidige versie van AngularJS werkt goed, zonder meer. Maar er zijn ook duidelijke tekenen dat het framework is ontwikkeld zonder vooropgezet plan. Er is langzamerhand allerlei wildgroei in AngularJS geslopen: er zijn meerdere uitwerkingen voor hetzelfde concept.

  • Denk aan het probleem ‘Services vs Factories vs Providers’. Welke variant te gebruiken?
  • Er zijn constanten die eigenlijk helemaal geen constanten, of zelfs maar read-only zijn.
  • Er zijn controllers op talloze manieren, met en zonder $scope.
  • De mogelijkheid om eigen componenten te schrijven (‘directives’ in AngularJS-taal) is complex en bevat eveneens veel doublures.

En zo zijn er nog meer eigenschappen die het leren van AngularJS op zijn zachtst gezegd een hele uitdaging maken. Het is geen framework voor beginners. Angular2 streeft naar meer consistentie op een moderne en eenvoudiger te leren manier. Voor beginners wordt Angular2 sneller en eenvoudiger te leren dan AngularJS.

Bent je dan in het voordeel als je nu al een AngularJS-veteraan bent? Misschien wel, want veel concepten en uitgangspunten blijven gelijk. Maar je zal ook veel moeten afleren! Angular2 kent een volkomen nieuwe syntaxis, zowel in de logica als in de user interfacecode.

Training in Angular2

In oktober ga ik (opnieuw) naar de VS voor conferentie en training over onder meer Angular2. Vanaf medio november 2015 zal ik deze kennis gebruiken om de eerste Angular2-trainingen in Nederland en België op te gaan zetten. Neem contact op als je hier alvast meer over wilt weten.

Medio voorjaar 2016 – zo snel mogelijk na de definitieve releasedatum – schrijf ik een boek over Angular2 in de Web Development Library.

 

Peter Kassenaar
-- 7 september 2015