View profile

🍱 Over frameworks

Jos van Essen
Jos van Essen
In de vorige nieuwsbrief (die trouwens goed gelezen werd, fijn!) kondigde ik al aan dat het deze nieuwsbrief over frameworks gaat.
Waarom is het nuttig iets over frameworks te weten? Eigenlijk exact om dezelfde redenen als het nuttig is om iets te weten over programmeertalen: je wil weten met welke frameworks mensen werken om zo te snappen in welke ‘wereld’ ze vertoeven.
Wat is een framework?
Een framework is een bundel met code die door (groepen) ontwikkelaars beschikbaar wordt gemaakt voor andere ontwikkelaars. Het idee hierachter is dat veel projecten ongeveer dezelfde functionaliteit hebben en frameworks proberen dit alvast ‘voor te verpakken’ in een aantal handige conventies.
Wat voor functionaliteit kun je dan aan denken? Bijvoorbeeld een model, dat eenvoudig data uit een database kan lezen. Of een controle-functie of een ingevoerde datum wel echt een datum is. Of een stukje code dat zorgt voor de veilige registratie- en inlog van de gebruiker.
Sommige frameworks proberen heel veel van deze oplossingen ‘out of the box’ mee te leveren en anderen zijn juist (express) heel summier. Het voordeel aan ‘complete’ frameworks zoals Laravel is dat ze je denkwerk uit handen nemen. Het nadeel hieraan is dat er onder de motorkap ook dingen gebeuren waar je maar weinig zicht op hebt.
Andersom geldt dit principe ook: het voordeel van ‘compacte’ frameworks is dat er veel ruimte is voor eigen initiatief en voor eigen manieren om bepaalde zaken aan te pakken. Het nadeel is weer dat dit ook extra tijd kost.
Voor bijna iedere programmeertaal zijn diverse frameworks voor handen. Deze frameworks worden gemaakt en onderhouden door vrijwilligers, maar ook door stichtingen en zelfs commerciële partijen. Sommige frameworks zijn enorm groot, maar worden desondanks door een zeer klein groepje (open source) ontwikkelaars onderhouden. Wellicht is dat interessant voor een nieuwsbrief in de toekomst.
Het lijkt me nuttig om voor iedere taal een lijst te geven van bijbehorende frameworks die op dit moment populair zijn.
Frameworks in PHP
Laravel, Symfony, CodeigNiter, Zend, WordPress* 
Belangrijkste om te weten; hoewel Laravel relatief nieuw is, heeft het in korte tijd een enorme populariteit ontwikkeld. De documentatie is uitstekend, de er is een flinke community en je kunt in relatief weinig tijd veel voor elkaar krijgen. Veruit de meeste PHP frameworks zijn al wat ouder, en hebben ofwel goede documentatie, ofwel veel artikelen op Stackoverflow met daarin de meest voorkomende problemen en oplossingen.
Frameworks in JavaScript
Node, React, Vue, Nuxt, Angular, Ember, Meteor, Backbone
Voor de JavaScript community is er een flinke waslijst aan frameworks en is er ook onderscheid tussen frameworks die meer de ‘voorkant’ van de website bereiken, zoals Angular en Vue, als ook complete stacks zijn zoals bijvoorbeeld React.
Ik durf voorzichtig te stellen dat de JAM stack (JavaScript, API en Markup) eigenlijk de meest moderne software stack op dit moment is. Het gaat enigszins te ver om hier nu over uit te wijden, maar hier een interessante read-up -> WTF is Jamstack?
Frameworks voor Python
Voor Python zijn er ook een aantal interessante frameworks waarbij Django veruit de grootste en populairste is. Voor Python zijn er ook wat kleinere frameworks voor bijvoorbeeld data-analyse of het bouwen van API’s. 
Frameworks voor Ruby
Ruby on Rails is hier veruit het grootste. Heel ver hierna zit ook Sinatra, een wat meer DIY aanpak van een framework.
*Note over WordPress: WordPress is in mijn optiek een framework. Er is een API, er is documentatie over functies. Er is een duidelijke scheiding tussen backend- en frontend code door middel van themes. Kortom: het heeft alle eigenschappen als framework.
 

Did you enjoy this issue? Yes No
Jos van Essen
Jos van Essen

JSON, API's, webtokens, CI deployments, JavaScript, Tag Manager: we horen allemaal regelmatig termen voorbij komen waarvan we niet 100% zeker weten of we het ook daadwerkelijk begrijpt. Deze nieuwsbrief laat een licht schijnen op deze materie: tech voor op het web uitgelegd

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.