Top 5: JavaScript frameworks


Als je net jouw eerste stappen binnen het programmeren zet, dan zul je in het begin vooral werken aan de basis. Die bestaat uit HTML, CSS en JavaScript. Op basis van wat je later zou willen doen kun je beslissen om je meer te verdiepen in frontend of backend development. Bij beide zul je werken met verschillende frameworks, maar welke is nou het beste en waarvoor kun je ze gebruiken? Voordat je door de bomen het bos niet meer kunt zien, hebben we het voor je beperkt tot een top 5 van JavaScript frameworks!

Wat zijn frameworks?

Een framework is een raamwerk van kant-en-klare softwarecomponenten waarbinnen weer applicaties en websites gebouwd kunnen worden. Het is dus ook niet meer dan logisch dat bij een JavaScript framework de brontaal JavaScript is. Je kunt het wellicht al zelf bedenken, maar zo’n framework neemt eigenlijk al een deel van het werk uit handen voor een software ontwikkelaar.

Een framework is een software omgeving die keer op keer gebruikt kan worden. Het bevat over het algemeen support programs, compilers, code libraries, tool sets en API’s.

De meeste frameworks die je hieronder aantreft handhaven het MVC-model. Dit is een model dat het ontwerp opdeelt in drie delen: Model, View en Controller. Hierbij gaat het deel Model over de opslag en het opvragen van data uit de database. View betreft de presentatielaag en draait dus om alles wat te zien is op het scherm. De Controller zorgt er uiteindelijk voor dat Model en View ingeladen en gebruikt worden.

Aangezien deze frameworks in JavaScript zijn geschreven, kun je ze vrij downloaden en gebruiken. Het is namelijk, net als Java, Open Source. Dat betekent trouwens ook dat deze frameworks niet alleen in het beheer zijn van bedrijven, maar dat het desbetreffende framework open is voor andere software ontwikkelaars die vrijwillig mee willen werken aan de optimalisatie ervan.

Ieder framework heeft zo zijn voor- en nadelen. Dat is iets wat iedere software ontwikkelaar zelf moet ervaren. Natuurlijk ontstaat er voorkeur voor een bepaald framework, maar welke je uiteindelijk gebruikt is nog altijd afhankelijk van het type project waar je aan werkt.

1. AngularJS

Google heeft zo’n tien jaar geleden AngularJS gelanceerd. Het framework AngularJS hanteert het MVC-model en functioneert als een soort brug tussen frontend en backend. Er is bij dit framework sprake van een tweezijdige data flow. Dat betekent dat gegevens automatisch tweezijdig worden aangepast en dus zowel frontend als backend bijwerkt. AngularJS dealt alleen met API interface en is daardoor niet afhankelijk van een specifieke backend. De prestaties van dit framework liggen vrij laag bij het bouwen van grote en complexe applicaties en kun je dus beter toepassen bij kleinschalige applicaties.

2. ReactJS

ReactJS is eigenlijk een JavaScript bibliotheek die wordt gebruikt voor het bouwen van User Interfaces (UI). Dit is wat je op een scherm ziet en focust het vooral op de ‘V’ van View. Daarom is het zeer geschikt voor applicaties waarbij een krachtige View component is vereist en geen uitgewerkte Model en Controller componenten hoeven te zijn. , Het beheer van dit framework ligt bij Facebook en wordt daarnaast ook door diverse Reactfans onderhouden.

3. VueJS

Dit framework is in vergelijking met andere frameworks erg klein, maar wel erg krachtig. Hierdoor is het geschikt om zelfs grootschalige applicaties te bouwen. Net als React focust dit framework zich vooral op View uit het MVC-model en is dus geschikt voor het bouwen van UI’s. Het is een relatief nieuw framework dat vrij gemakkelijk op te pakken is. Natuurlijk is het niet zo dat wanneer je net komt kijken dat je dit ook zo in de vingers hebt. Ook hier is het nog steeds van belang dat je in ieder geval thuis bent in HTML, CSS en JavaScript.

4. EmberJS

In 2011 is het framework Ember.js gelanceerd. Net als Angular.js is er hier sprake van een tweezijdige data flow. Het is een groot framework dat weinig flexibiliteit kent voor software ontwikkelaars. Qua functionaliteiten kun je dit framework het beste zien als een combinatie van Angular en React. Ondanks de beperkte flexibiliteit, is dit framework wel geschikt voor het bouwen van grootschalige en complexe applicaties.

5. MeteorJS

MeteorJS is één van de frameworks geschreven in NodeJS en een full-stack backend framework. Node wordt veelal gebruikt voor het bouwen van de serverkant van webapplicaties. MeteorJS zul je dan ook voornamelijk aantreffen bij het bouwen van web- en mobiele applicaties. De prestatiesnelheid ligt hoog en is zeker geschikt voor de bouw van kleine applicaties. Ook hier geldt dat software ontwikkelaars zeker thuis moeten zijn in HTML, CSS en JavaScript.

Waarom geen NodeJS?

Sommigen zullen zeggen dat NodeJS ook in dit rijtje thuishoort. Maar zelfs onder developers is er een discussie over of het nu een framework of toch een platform is. We kunnen stellen dat er duidelijk sprake is van een overlap, doordat de kenmerken tamelijk breed zijn.

Door de komst van NodeJS is het nu mogelijk om gehele websites te laten werken op een JavaScript stack die zowel de gebruikerskant als de serverkant weet te bedienen. Dit heeft ervoor gezorgd dat JavaScript ook een speler werd op het gebied van backend technologieën. Technisch gezien vormt NodeJS de basis waar je vervolgens verder op kunt bouwen door het toevoegen van libraries en frameworks. Natuurlijk zijn er nog verschillende technische aspecten die maken dat NodeJS niet als framework bestempeld kan worden. Maar geloof ons als we zeggen dat dit te veel is om nu kort en vooral simpel uit te leggen.

Door de komst van NodeJS begeeft JavaScript zich nu ook op het gebied van backend development. Hierdoor zie je dus dat niet alle frameworks alleen maar gericht zijn op het bouwen van de frontend. Iedere ontwikkelaar heeft zijn of haar voorkeur voor een bepaald framework, maar zoals je ziet heeft ieder framework zijn sterktes en zwaktes. Daarom is het ene framework beter voor bijvoorbeeld de bouw van een mobiele applicatie en de ander is weer uitermate geschikt voor grootschalige applicaties. Het is dus maar net aan welk project je werkt!