Framework: een fundament dat je meeneemt, ook als je het niet gebruikt
Er is een verleiding bij elk nieuw project. Er bestaat een kant-en-klaar pakket dat alles al kan. Menu’s, sliders, formulieren, animaties, honderden opties. Je installeert het en je bent in een dag ver. Wat je erbij krijgt is alle code van alle functies die je nooit gebruikt.
Die code wordt bij elk bezoek meegeladen. En je zit er de rest van de levensduur van de site aan vast.
Bij Den Interieurs heb ik daarom bewust de andere kant gekozen. Ik verzorgde daar het webdesign en de vindbaarheid. Het is een overzichtelijke site: werk laten zien en contact leggen.
Ik ben begonnen met een lichte basis en heb daar alleen aan toegevoegd wat nodig was. Geen pakket met tweehonderd onderdelen waarvan er acht in beeld komen. De site laadt daardoor snel, en over twee jaar is hij nog te begrijpen.
Een framework is een fundament. Kies er een dat bij het huis past.
Wat is een framework?
Een framework is een kant-en-klaar bouwfundament met code en afspraken. Het lost problemen op die iedereen tegenkomt, zodat jij ze niet opnieuw hoeft op te lossen.
Denk aan een rasterindeling, kant-en-klare knoppen of een manier om gegevens op te halen. Je krijgt herbruikbare code en een vaste werkwijze.
Het verschil met een boilerplate
Een boilerplate is een startbestand dat je kopieert en daarna helemaal zelf beheert. Hij bepaalt niets meer zodra je begint.
Een framework blijft aanwezig. Het schrijft voor hoe je dingen doet en het krijgt updates. Dat is het echte onderscheid: een boilerplate laat je los, een framework loopt mee.
Wat het je oplevert
Het grootste voordeel is ontwikkeltijd besparen. Je hoeft geen menu te bouwen dat op mobiel inklapt, want dat zit erin.
Het tweede voordeel is overdraagbaarheid. Werkt er later iemand anders aan je site, dan herkent hij de opzet. Dat scheelt inwerktijd en fouten.
Het derde is beproefde code. Onderdelen die door duizenden mensen gebruikt worden, bevatten minder verrassingen. Zeker vergeleken met iets wat jij zelf in een middag maakte.
Wat het je kost
Drie nadelen die vaak wegvallen in de verkoop
Gewicht: je laadt ook de onderdelen die je niet gebruikt.
afhankelijkheid: stopt het project, dan sta je stil.
Leercurve: iemand die het niet kent, kan er niet zomaar mee werken.
Dat eerste is met werk op te lossen. Moderne frameworks kunnen ongebruikte onderdelen weglaten, maar dan moet dat wel ingesteld worden. Meer daarover lees je bij pagespeed.
Heb je er een nodig?
Voor een gewone bedrijfssite meestal niet. Werk je met een CMS, dan zit het meeste al in je systeem en je thema.
Voor een webapplicatie met veel schermen en logica ligt het anders. Daar verdient een vast raamwerk zich terug in structuur en snelheid van bouwen.
Mijn vuistregel is simpel. Los je met eigen CSS in tweehonderd regels op wat een framework in vijfduizend doet? Doe het dan zelf.
Zit je eraan vast?
Deels wel, en dat is eerlijk om vooraf te zeggen. Overstappen betekent bijna altijd herbouwen.
Je kunt die afhankelijkheid wel beperken. Houd je eigen maatwerk gescheiden van het framework, bijvoorbeeld in een child theme. Leg je kleuren en typografie centraal vast.
Dan houd je bij een overstap in elk geval je huisstijl en je eigen functies. Alleen de opbouw moet dan opnieuw. Dat scheelt het verschil tussen een verbouwing en een sloop. Het maakt onderhoud op lange termijn bovendien een stuk voorspelbaarder.
Wat je je bouwer kunt vragen
Vraag welk fundament er onder je site zit en waarom daarvoor gekozen is. Een goed antwoord noemt jouw situatie, geen gewoonte.
Vraag daarna hoe je eigen maatwerk gescheiden is gehouden. Kan hij dat niet uitleggen, dan is het waarschijnlijk niet gescheiden.
Meet wat het je kost
Controleer na oplevering hoeveel een gewone tekstpagina weegt. Zit je boven de anderhalve megabyte, dan draag je code mee die je nergens ziet.
Dat is geen ramp, maar het is wel een keuze die iemand voor je heeft gemaakt. En het is er een die je elke maand betaalt in bezoekers die afhaken.
Meer vragen over Framework
Dit zijn de vragen die ik hierover het vaakst krijg. Ik werk ze los uit.
Wat is een framework?
Wat is het verschil tussen een framework en een boilerplate?
Welk framework kun je het beste gebruiken?
Maakt een framework je website zwaarder?
Zit je vast aan een framework?
Heb je een framework nodig voor een eenvoudige website?
Wat is een framework?
Een boilerplate is een startbestand dat je kopieert en daarna helemaal zelf beheert. Zodra je begint, bepaalt hij niets meer.
Een framework blijft aanwezig gedurende het hele project. Het schrijft voor hoe je dingen doet, het levert onderdelen aan en het krijgt updates die jij moet volgen.
Dat is het echte onderscheid: een boilerplate laat je los, een framework loopt mee.
Daar hangt een praktisch gevolg aan. Bij een boilerplate ben je zelf verantwoordelijk voor alles, ook voor beveiligingsfixes. Bij een framework krijg je die aangeleverd, maar moet je wel bijblijven.
Voor kleine projecten is een boilerplate vaak genoeg. Voor grotere applicaties met meerdere ontwikkelaars weegt de structuur van een framework zwaarder dan de vrijheid.
Vraag je bouwer welke van de twee hij gebruikt en waarom. Het antwoord vertelt je meer over zijn manier van werken dan een hele offerte. Let daarbij vooral op of hij uitlegt waarom, en niet alleen wat hij altijd gebruikt.
Wat is het verschil met een boilerplate?
Een framework is een kant-en-klaar fundament met code en afspraken. Het lost problemen op die iedere bouwer tegenkomt, zodat jij ze niet opnieuw hoeft op te lossen.
Denk aan een rasterindeling voor je pagina, kant-en-klare knoppen of een vaste manier om gegevens op te halen. Je krijgt herbruikbare code en een werkwijze waar iedereen zich aan houdt.
Dat laatste is minstens zo belangrijk als de code zelf. Werken er meerdere mensen aan een project, dan zorgt een framework dat ze het op dezelfde manier doen.
Je komt ze op elk niveau tegen. Voor opmaak, voor de logica achter je site, en voor complete webapplicaties.
Voor een gewone bedrijfssite merk je er als eigenaar weinig van. Het is een keuze van je bouwer die pas zichtbaar wordt in je laadtijd en in je onderhoudskosten.
Je hoeft hier als ondernemer geen keuze in te maken. Wel is het goed om te weten dat het bestaat, zodat je er gericht naar kunt vragen bij een offerte.
Maakt een framework je website zwaarder?
Meestal wel, en dat is de belangrijkste kritiek. Je laadt namelijk ook de onderdelen die je nooit gebruikt.
Er bestaan pakketten met tweehonderd componenten waarvan er acht op jouw site voorkomen. Alle code van de overige honderdtweeënnegentig wordt bij elk bezoek meegestuurd.
Moderne frameworks kunnen ongebruikte onderdelen weglaten bij het bouwen. Maar dat moet wel ingesteld worden, en dat gebeurt lang niet altijd.
Controleer daarom na oplevering hoeveel je pagina weegt. Zit je boven de anderhalve megabyte voor een gewone tekstpagina, dan is er iets mis.
Mijn eigen vuistregel: los je met tweehonderd regels eigen code op wat een framework in vijfduizend doet, doe het dan zelf. Meer daarover lees je bij pagespeed.
Meet dit na oplevering en niet op goed vertrouwen. Een pagina die drie megabyte weegt, kost je bezoekers op mobiel internet zonder dat je het ooit ziet. Vraag ook wat er wordt weggelaten bij het bouwen, want dat scheelt vaak de helft.
Zit je vast aan een framework?
Deels wel, en dat is eerlijk om vooraf te weten. Overstappen betekent bijna altijd herbouwen.
De manier van werken zit namelijk verweven in je hele project. Haal je het fundament weg, dan valt de rest om.
Je kunt die afhankelijkheid wel beperken. Houd je eigen maatwerk gescheiden van het framework, bijvoorbeeld in een child theme. Leg je kleuren en typografie centraal vast in plaats van in de instellingen van het pakket.
Dan houd je bij een overstap in elk geval je huisstijl en je eigen functies. Alleen de opbouw moet opnieuw.
Dat is het verschil tussen een verbouwing en een sloop. Vraag je bouwer dus hoe hij dat heeft gescheiden. Kan hij dat niet uitleggen, dan is het waarschijnlijk niet gescheiden.
Zorg dat je zelf toegang hebt tot je bestanden en je database. Dan is een overstap in het ergste geval duur, maar nooit onmogelijk. Leg die toegang schriftelijk vast, niet als losse afspraak in een gesprek.
Heb je een framework nodig voor een eenvoudige website?
Voor een gewone bedrijfssite meestal niet. Werk je met een CMS, dan zit het meeste al in je systeem en je thema.
Daar bovenop nog een zwaar pakket zetten levert je vooral gewicht op. Je krijgt functies die je thema al had, maar dan twee keer.
Voor een webapplicatie met veel schermen en logica ligt het anders. Denk aan een boekingssysteem, een klantportaal of een dashboard. Daar verdient een vast raamwerk zich terug in structuur en in snelheid van bouwen.
De vraag die ik altijd stel is deze: hoeveel van dit pakket ga ik echt gebruiken? Is dat minder dan een kwart, dan is het de verkeerde keuze.
Beter een lichte basis waar je aan toevoegt dan een zwaar pakket waar je uit moet slopen. Dat laatste gebeurt namelijk nooit.
Beter een lichte basis waar je aan toevoegt dan een zwaar pakket waar je uit moet slopen. Dat laatste gebeurt in de praktijk namelijk nooit.
Weet je niet waar jouw website op gebouwd is of waarom hij traag laadt? Stuur me de link via het formulier hieronder. Ik kijk welk fundament eronder zit, hoeveel daarvan echt wordt gebruikt en wat dat je kost aan laadtijd. Vermeld je plaats, dan weet ik meteen waar je zit.
Waar kan ik je mee helpen?
Ook bekend als: Bouwfundament, raamwerk, ontwikkelframework