What makes a frame work?

Alle recente projecten van Marlon maken gebruik van open source frameworks. Zowel voor .NET als PHP zijn er heel wat alternatieven beschikbaar. Voor PHP zijn er de frameworks als Symfony, Zend Framework en eZComponents maar ook minder algemeen gekende parels als Spoon Library.

Een framework kan je zien als een bouwdoos waarmee je je applicatie gaat bouwen. Een extra laag tussen de programmeertaal (vb. PHP) en je eigen geïmplementeerde functionaliteit. Een goed framework voorziet in een basis voor applicaties en zorgt ervoor dat je als ontwikkelaar niet steeds opnieuw het spreekwoordelijke wiel moet gaan uitvinden.

Ieder framework of library heeft ongetwijfeld zijn voor- en nadelen, net zoals iedere programmeertaal dat heeft. Google is uw vriend als je voor het slapengaan voor jezelf wilt uitmaken welk framework nu eigenlijk wel de beste is.

Naast snelheid en betrouwbaarheid stelden wij één uitermate belangrijk aandachtspunt voorop bij de keuze van een framework: uitbreidbaarheid. Hoe uitgebreid een specifiek framework ook mag zijn, wanneer je websites op maat ontwikkelt zal er altijd wel één of andere component zijn dat je niet zomaar uit de bibliotheek kunt pikken. Daarom is het van het allergrootste belang dat een framework uitbreidbaar is. Een ontwikkelaar moet eenvoudig (en dus ook snel) bestaande functionaliteit kunnen uitbreiden om zo aan projectspecifieke eisen te kunnen voldoen. (denk “extends”, “implements”, …)

Voor enkele recente projecten maakten we gebruik van het Zend Framework. Naast de verschillende mogelijkheden om het bestaande framework uit te breiden kunnen we hier ook rekenen op een erg uitgebreide documentatie en een levendige community.

Iedere webontwikkelaar met een beetje eergevoel wil alles altijd zelf programmeren. Onze ervaring leert echter dat het voor beide partijen de beste keuze is om zoveel mogelijk tijd en energie te steken in projectspecifieke functionaliteit en gebruik te maken van de basisfunctionaliteit van een framework.

Dit betekent echter niet dat je het framework van je keuze als een zwarte doos moet gaan beschouwen. Zoals bij alle mogelijke problemen die je tijdens het verloop van een project tegen het lijf loopt geldt ook hier dat je moet blijven nadenken. Neem nooit iets “zomaar” aan. Ga na en controleer hoe het komt dat iets op een bepaalde manier werkt. Ga je daarmee als team akkoord, doe het dan op die manier. Doe je dat niet, argumenteer waarom en los het probleem op je eigen manier op. Met een beetje geluk kan je de reeds bestaande functionaliteit alsnog uitbreiden en met minimale inspanning en tijd het gewenste resultaat bereiken!