Zoveel verschillende JavaScript Frameworks! Waarom?!

En welke moet je nou gebruiken?

Joost

Geschreven door Joost Saanen op 8-11-2016
4 minuten leestijd

Je bent op zoek naar een hamer, maar de winkel heeft er wel twintig. Maar.. je wilt gewoon een HAMER(!). Je weet wel, zo’n ding om spijkers mee in de muur te slaan. Waarom zo moeilijk?

Elk uur wordt er ergens op de wereld een JavaScript framework geboren.

Wanneer je de ontwikkelingen in web development een beetje volgt kan het je niet ontgaan zijn dat de JavaScript frameworks als paddenstoelen uit de grond schieten. Om er een aantal te noemen: AngularJS, Backbone.js, Cappuccino, Chaplin.js, Echo, Ember.js, Enyo, Ext JS, Knockout, Google Web Toolkit, Knockout, Meteor, Mojito, MooTools, Next.js, NodeJS, Prototype JavaScript Framework, React.js, Rialto Toolkit, Sails, SproutCore, Wakanda Framework.

Ben je er nog?

Vooruit, misschien is ieder uur wat overdreven, maar soms voelt het wel zo.

Maar waarom?

Maar waarom zijn het er zoveel? In deze blog noem ik een aantal redenen.

1. JavaScript = populair
JavaScript is hot. Volgens de statistieken van Github zijn JavaScript-repositories het meeste populair en actief op dit moment, gevolgd door Java. Neem hier een kijkje wanneer je niet precies het verschil weet tussen JavaScript en Java.

En vergeet niet: JavaScript is tot op heden de enige client-scripting taal die je in alle browsers kunt gebruiken. Niet zo vreemd dat áls er frameworks worden ontwikkeld, dit in zo’n enorm populaire taal gebeurt.

2. Developers maken graag nieuwe frameworks
Naast dat dergelijke frameworks veel werk uit handen nemen, vinden veel developers het ook leuk om ze zelf te maken. Is de doorsnee developer misschien ook wat bovengemiddeld eigenwijs? Misschien denken ze het zelf beter / makkelijker / sneller te kunnen?

3. De beschikbare frameworks doen niet wat je wilt of zijn té complex
framework X doet niet precies wat je wilt, dan maak je toch zelf één?

Een bekende uitspraak als het gaat om frameworks is de volgende:

"Er zijn 100 verschillende frameworks maar geen van allen doet precies wat ik wil. Daarnaast zijn ze vaak onnodig complex. Laat ik zelf een framework maken wat wél doet wat ik wil.”

Ok, maar nu zijn er 101 frameworks. Gevolg: een wildgroei aan frameworks.

4. Al het begin is makkelijk
Vergeleken met veelgebruikte programmeertalen (zoals Java en C++), is JavaScript een relatief eenvoudige taal. Of ja eenvoudig; het is vooral zeer laagdrempelig. Je kunt snel van start. Ook als minder ervaren programmeur.

Naast dat je niet veel andere keuze hebt als het gaat om client-side scripting in een browser, maakt deze eenvoud het ook nog eens aantrekkelijk om te beginnen aan de bouw van je eigen JavaScript framework.

Welk JavaScript framework kun je nu het beste gebruiken?

mobile-development-for-javascript-developer-2-638

Er is niet één framework wat je in alle gevallen zou moeten kiezen. Er zijn een aantal factoren die meespelen bij het maken van zo’n keuze. Ik noem ze hieronder:

1. Ga na welk (frontend) probleem je wilt oplossen?
Elk JavaScript framework heeft sterke en minder sterke kanten en specialiseert zich vaak op een bepaald gebied. Dit kan voor een groot deel bepalen welk framework je wilt gebruiken in je project. Zo biedt een framework zoals React modulariteit en herbruikbaarheid terwijl een framework als Ember.js vooral de developer happiness weet te verhogen.

2. Is de kandidaat framework levensvatbaar?
Zo hard als een JavaScript framework kan kan groeien, zo snel kan deze populariteit weer verdwijnen als sneeuw voor de zon. Bekijk technische forums (bijvoorbeeld Stackoverflow), websites, communities en probeer zo mogelijk in te schatten wat de levensduur is van een framework. De keuze die je in het begin maakt is belangrijk. Je wilt niet na drie maanden alles weer ombouwen. Dit kost tijd en geld!

Dit gaat ook hand in hand met onderhoudbaarheid. Ook belangrijk om naar te kijken. Zo staat Ember.js bekend om haar backward compatibility. Bij AngularJS is dit minder goed geregeld.

3. Zijn er ontwikkelaars met kennis beschikbaar?
De keuze die je maakt is natuurlijk ook afhankelijk van de beschikbare developers en wat zij gewend zijn om te gebruiken. Hiermee doel ik op patterns en _best practices die vaak zijn afgeleid van een programmeertaal of omgeving. Het is dan handig om te kijken naar een framework dat in het verlengde ligt van het kennisniveau van deze developer(s).

4. Kies voor Open Source!
Ik kan het niet vaak genoeg roepen. Waarom? Lees hiervoor deze blogpost.

Natuurlijk zijn er nog meer factoren die meespelen bij het kiezen van een geschikt Javascript framework. Bijvoorbeeld de toegankeljkheid en de vrijheid die het biedt. Zo biedt Backbone bijvoorbeeld veel vrijheid en moet je veel zelf doen. Andere frameworks bieden veel functionaliteit (hoger abstractieniveau) en minder vrijheid.

Laat gerust in de comments weten of er volgens jou nog belangrijke overwegingen missen naast bovenstaande punten.

Meer weten?

Mocht je twijfelen welk framework geschikt is voor het oplossen van een bepaald probleem, neem dan contact op met Kabisa. Onze developers helpen je graag en kunnen je voorzien van een goed advies.

Joost

Joost Saanen

Gepassioneerde all-rounder met brede interesses; van serverbeheer en cloudhosting tot (UI)design en (web)development. Hardloopt en schrijft het liefst tegelijk.