07maart

Angular 2, Angular 4 of gewoon “Angular”?

Na een voorbereidingstijd van ruim 2,5 jaar is in september 2016 eindelijk de final release van Angular 2 vrijgegeven. Tegelijkertijd introduceerde Team Angular een nieuwe manier van versiebeheer in Angular.

Met Angular 2 werd semantic versioning of kortweg semver ingevoerd. Voorheen hadden we releases als Angular 1.4, Angular 1.5 enzovoort. Met ingang van Angular 2 is het versiesysteem met drie cijfers ingevoerd, bijvoorbeeld 2.2.1, waarbij de drie cijfers staan voor een major.minor.patch-versie. Dit is een geaccepteerde standaard in de softwarewereld en betekent het volgende:

  • 2 – Majorversie- bij een upgrade mogelijk breaking changes ten opzichte van eerdere major versies.
  • 2 – Minorversie, nieuwe features zonder breaking changes.
  • 1 – Patchversie, met bugfixes. Geen breaking changes.

Het semver-systeem is sinds de release van Angular 2 trouw gevolgd en op het moment van schrijven is Angular 2.4.0 de actuele versie.

Angular Roadmap

Tijdens zijn keynote op de conferentie NG-BE in december 2016 gaf Angular Team Lead Igor Minar een toelichting op de roadmap van Angular. In maart 2017 zal Angular 4 verschijnen.

Angular 4 - backwards compatible met Angular 2 - (C) Igor Minar

“Wat? Angular 4? Wat is er met Angular 3 gebeurd? Betekent dit weer dat ik een compleet nieuw framework moet leren?”

Het antwoord op deze vragen is gelukkig een duidelijk NEE.

Angular 4 is  - zoals de slide al aangeeft – backwards compatible met alle Angular 2-code die je tot nu toe geschreven hebt. Je hoeft niet opnieuw een framework te leren. De overgang van Angular  2 naar 4 zal (in tegenstelling tot de overgang van Angular 1 naar Angular 2) pijnloos verlopen. Wel zullen er nieuwe onderdelen worden geïntroduceerd, zoals een nieuwe view compiler die kleinere code oplevert en betere AoT-compiling. Maar verder is het enige dat gewijzigd is, het versienummer.

Meer informatie hierover vind je bijvoorbeeld in de blogpost van Igor Minar.

Waar is Angular 3 gebleven?

Het zou natuurlijk logisch zijn om na Angular 2 eerst Angular 3 uit te brengen. Maar Angular bestaat uit allemaal losse onderdelen (core, router, forms, compiler en meer), met elk hun eigen versienummers. Zo is een zeer belangrijk onderdeel als de router van Angular op dit moment al bij versie 3.3 aangeland. En als deze ook geüpgraded zou worden, zouden we Angualr 3 met routerversie 4 krijgen. Dat is ook verwarrend.

Daarom is  voor de strategie gekozen om vanaf versie 4 alles gelijk te trekken. In het projectbestand package.json staan straks dus allemaal dezelfde versienummers. Dat is wel een verademing. Maar voordat het zover is, moeten we eerst even door de zure appel met versienummers heen bijten.

Snelle upgrades

Het zal niet bij Angular 4 blijven. Team Angular heeft een ambitieus schema samengesteld voor de toekomst. Elke zes maanden zal een nieuwe versie van Angular verschijnen:

Tot ziens versienummers, Hello Angular

Om die reden ziet Team Angular ook liever vandaag dan morgen dat versienummers in projecten verdwijnen. “It’s just Angular”, aldus Igor Minar. Dit betekent dat we vanaf dit moment eigenlijk nog maar twee grote stromingen overhouden in Angular-land:

  • AngularJS – de eerste versie van het framework, gebaseerd op de 1.x-reeks.
  • Angular – alles wat Angular 2 en hoger is. Het versienummer is hierbij van ondergeschikt belang. Gebruik het liever niet meer.

Onze trainingen

Onze trainingen en voorbeeldcode wordt vanaf het verschijnen van Angular 4 (of vanaf nu dus kortweg: Angular), ook aangepast aan de nieuwe versienummers. Inhoudelijk wordt de training telkens bijgewerkt volgens de laatste standaardaarden.

Maar je weet nu ook: het versienummer doet er eigenlijk niet meer zo toe.

Wil je een Angular-training organiseren binnen je bedrijf of instelling of de mogelijkheden bespreken, aarzel dan niet om contact op te nemen.

-- Peter Kassenaar
7 maart 2017.

Reacties zijn gesloten