angularjs vs angular
Blog Geschatte leestijd: 3 minuten

AngularJS vs Angular

AngularJS vs Angular, welk framework kies jij voor jouw volgende project? In deze blog leggen we de verschillen uit, zodat jij precies weet welke keuze je moet maken!

Terug in de tijd

AngularJS werd in 2010 door Google uitgebracht als een open-source framework waarmee het makkelijk is om dynamische websites en applicaties te creëren, vooral de SPA variant. Het maakt hierbij gebruik van JavaScript binnen een MVC (Model View Controller) of MVVM (Model View View Model) architectuur. Daarnaast maakt het ook gebruik van Components en aanvullende libraries.

In 2014 besloot Google om AngularJS volledig te herschrijven.  Vanaf toen gebruikte AngularJS  TypeScript en verviel het gebruik van MVC en MVVM. In plaats daarvan werd er voor een Component-Based Architectuur gekozen. Deze nieuwe versie werd oorspronkelijk Angular 2 genoemd, maar dit zorgde voor de nodige verwarring onder gebruikers. Uiteindelijk werd Angular 2 dus bekend als Angular, terwijl de oorspronkelijke op JavaScript gebaseerde versie van Angular de naam AngularJS kreeg.

JavaScript vs TypeScript

TIP: Lees hier onze eerdere blog waarin de verschillen tussen TypeScript en JavaScript worden toegelicht.

Voor Angular wordt TypeScript gebruikt, wat een superset is van JavaScript. TypeScript wordt eerst vertaald naar JavaScript voordat het uitgevoerd wordt. Het heeft backward compatibility met eerdere versies van ECMAscript. Naast TypeScript kan Angular nog steeds uit de voeten met JavaScript, al zal dit in de praktijk niet vaak nodig zijn

MVC, Components en Directives

In AngularJS wordt gebouwd op een MVC architectuur. Dat betekent dat business logic en UI in de structuur van de applicatie gescheiden van elkaar blijven. Daarnaast zijn er ook nog Components beschikbaar.

In Angular wordt geen gebruik gemaakt van een MVC architectuur. In plaats daarvan wordt gewerkt met Components en Directives binnen een hiërarchische structuur.Components zijn de belangrijkste bouwblokken voor de user interface in Angular. Elk Component bestaat uit een html template, een TypeScript class waarin de bijbehorende acties zijn vastgelegd, een CSS selector en optioneel, CSS styling.

Directives zijn classes waarin gedrag of acties worden vastgelegd. Deze kunnen bijvoorbeeld worden gebruikt om het uiterlijk van een Component te wijzigen, om DOM elementen toe te voegen of te verwijderen of om validatie toe te passen op een formulier.
Components zijn overigens ook een vorm van Directives.

In Angular zijn er vele Components en Directives direct beschikbaar. Daarnaast is er ook duidelijke documentatie over het zelf schrijven van nieuwe Components en Directives. Uiteraard zijn er ook zeer veel libraries beschikbaar die je direct kan gebruiken. Zo heeft Angular zijn eigen Angular Material Design, maar er zijn ook libraries beschikbaar die zich bijvoorbeeld richten op Components met Bootstrap, of juist op Components die zich met name richten op development voor mobiele applicaties.

SEO

Vandaag de dag is SEO of Search Engine Optimization een zeer belangrijk onderdeel van web development. Als er veel tijd en geld is gestoken in een website, dan wil je natuurlijk ook dat deze werkelijk gevonden wordt door je publiek. Door de manier waarop AngularJS werkt is het echter lastig om goed door crawlers te worden gelezen. Een SPA gebouwd in AngularJS bevat de basisstructuur van een pagina, maar niet de html-code die normaal gesproken door Google crawlers wordt uitgelezen. Wat de crawlers niet kunnen zien, komt ook niet in de zoekresultaten. Voor AngularJS is het daarom noodzakelijk om andere oplossingen te zoeken om toch gevonden te worden door search engines. Dat kan door middel van tools die door derden worden aangeboden, of door server side rendering.

In de ontwikkeling van Angular is hier extra rekening mee gehouden. Sinds versie 11 worden er standaard libraries met Angular meegeleverd om SEO makkelijker te maken. Op deze manier blijft er meer tijd over om aan de werkelijke inhoud van je pagina te besteden

AngularJS vs Angular?

AngularJS is in de afgelopen jaren, ondanks de komst van Angular, nog erg populair gebleven. Voornamelijk door applicaties die eerder al in AngularJS gebouwd waren. Desondanks heeft Google besloten om inmiddels de ondersteuning op AngularJS te stoppen. De laatste stabiele release van AngularJS is 20 oktober 2020 vrijgegeven. Per januari van dit jaar, 2022, is alle ondersteuning definitief gestopt. Dit betekent dus ook dat er geen beveiligingsupdates meer beschikbaar zijn. Alleen al om die reden is het vandaag de dag dus aan te bevelen om Angular te kiezen in plaats van AngularJS.

Daarbij biedt Angular ook de nodige voordelen ten opzichte van AngularJS, zoals de eerder besproken opties voor SEO. Angular kan beter overweg met grote gebruikersaantallen en is makkelijker op te schalen zonder veel snelheid in te leveren. Door het gebruik van Components is Angular sowieso een stuk sneller dan AngularJS. Components zijn autonoom en het is mogelijk om ze te testen en te hergebruiken. De leercurve van Angular is iets steiler dan die van AngularJS, maar de voordelen wegen zwaarder dan de nadelen. Wil je gebruik maken van het Angular framework voor een nieuw project? Kies dan zeker voor Angular in plaats van AngularJS.

Werken met Angular? Bekijk onze Angular vacatures of neem direct contact op met een van onze Recruitment Consultants!

Meer artikelen