De voordelen van een eigen PHP-framework

Een veelvoorkomend begrip in de wereld van softwareontwikkeling is een framework: een ‘basispakket’ aan softwarecomponenten en code voor het ontwikkelen van software, zoals websites of applicaties. Bij Loyals zijn we twintig jaar geleden gestart met het bouwen van een eigen framework voor onze websites. Met de nodige doorontwikkelingen van dien!

In deze blog lees je wat een framework inhoudt, waarom we bij Loyals een eigen framework hanteren en welke voordelen (en nadelen) dit meebrengt voor onze opdrachtgevers.

De voordelen van een eigen PHP frame | Loyals

Share

Wat is een PHP framework? 

Een framework kun je letterlijk vertalen als “raamwerk”. Het biedt een bepaalde basis om websites of applicaties verder te ontwikkelen, en komt in het geval van softwareontwikkeling ook met een breed pakket aan functionaliteiten die je niet zelf hoeft te ontwikkelen. Heel fijn dus, want dit scheelt developers veel (herhalende) werkzaamheden. En klanten dus ook geld. Win-win!

Geraamte van een huis | Loyals

Een framework kun je vergelijken met het geraamte van een huis.

Het Loyals PHP framework 

Loyals gaat ondertussen, op het moment van schrijven, alweer twintig jaar mee. Dat betekent dat we in 2001 zijn begonnen met het maken van websites en gave producten voor onze opdrachtgevers.

Een framework kun je zelf bouwen, maar je kunt natuurlijk ook bestaande PHP frameworks van bekende ontwikkelaars gebruiken. In de tijd dat we bij Loyals begonnen, waren er nog niet echt frameworks. Iedereen deed het op zijn eigen manier. Een paar jaar later kwamen er PHP framework op de markt die flink verschillen van hoe we anno 2021 met frameworks om gaan. Een aantal bekende namen:

  • Laravel (2011)

  • Symfony (2005)

  • CakePHP (2005)

  • ZendFramework (2005)

  • CodeIgniter (2006) 

Waarom een eigen PHP framework?

In die tijd is er bij Loyals een eigen framework ontstaan, wat al die jaren doorontwikkeld is. Bij veel programmeurs is dit een controversieel onderwerp. Veel developers zijn namelijk van mening dat een bestaand open source framework the way to go is. Dit wordt vaak onderbouwd met de mate van doorontwikkeling, goed uitgewerkte documentatie, en het bekende wiel niet opnieuw uitvinden. En om eerlijk te zijn: die mening heb ik een lange tijd gedeeld.

Gelukkig ben ik ook maar een mens… en daarom licht ik graag toe waarom ik het nu zo fijn vind een framework in eigen beheer te hebben! ;-)

De voordelen van een bestaand framework

Laten we eerst beginnen met de voordelen van een bestaand – dus niet zelf ontwikkeld –  framework gebruiken. 

Doorontwikkeling 

Bij bestaande frameworks is er super actieve doorontwikkeling vanuit een hele community. Er worden bijna altijd wel mooie nieuwe features aan toegevoegd.

Diezelfde community is ook (flink) actief op fora, dus wanneer een developer ergens tegenaan loopt kan hij of zij online vaak wel op de kennis van mede-developers rekenen. Neem bijvoorbeeld maar eens een kijkje op het forum van Laraveldit Reddit board of de website van Laracasts (een zelfbenoemd netflix voor developers).

Documentatie

Daarnaast is de documentatie vaak uitgebreid, waardoor je snel antwoorden op vragen kunt vinden. Zo zijn hier vaak de oplossingen op veel voorkomende uitdagingen beschreven, hoe het framework omgaat met zaken als security en schaalbaarheid zijn hier vaak tot in de puntjes uitgewerkt.

Documentatie van framework | Loyals

Een voorbeeld van de uitgebreide Laravel documentatie

Hergebruik van code

Tot slot: je hoeft het wiel vaak niet opnieuw uit te vinden. Zoek je een bepaalde package (bundel van code)? Dan is de kans groot dat iemand anders dit al voor je heeft gedaan. En die kun jij dus eenvoudig hergebruiken.

De voordelen van een eigen framework

Door al deze voordelen op te noemen, ga je haast denken dat we ons eigen framework te kort doen. Gelukkig valt dat wel mee. Maar eerlijk is eerlijk: de keuze voor Loyals om een eigen PHP framework te ontwikkelen is niet per se uit luxe geboren.

Compliancy

Van origine hebben we relatief grote klanten in ons portfolio. Deze opdrachtgevers legden bij ons de eis neer dat onze code geen open source framework toepast.

Natuurlijk, PHP zelf is ook open source. Maar in onze gevallen ging het puur om de implementatie. Oftewel: een stukje compliancy.

Vertrouwde PHP-techniek

Voor ons is het redelijk simpel: wij zijn volledig vertrouwd met onze techniek. Én daarbij snappen onze klanten de producten die wij ontwikkelen. Er zijn tientallen grote CMS-pakketten met super complexe interfaces waar onze klanten eerst mee gewerkt hebben, om daarna in ons CMS te werken waar alles veel duidelijker op hun gericht is.

Maatwerk framework 

We snappen dat je op een framework altijd een CMS kunt bouwen, maar in ons geval komt een stuk custom design altijd om de hoek kijken.

Een “maatwerk framework” klink misschien tegenstrijdig, maar hiermee bedoel ik dat ons framework altijd bevat wat de klant nodig heeft. Tientallen overbodige, niet gebruikte packages worden dus ook niet meegeleverd in ons framework. Zo houden we elk framework bijzonder lightweight!

Dit maakt ons framework uitermate geschikt voor diverse maatwerk projecten. Van een website voor een simpele inschrijving (waar het framework uit de core onderdelen bestaat zoals routing en database toegang, en een package om formulieren te beheren) tot gehele ERP-systemen waar er koppelingen met bestaande softwarepakketten worden gebouwd. 

Controle over packages

Wat de packages betreft, dat mes snijdt aan twee kanten. Want ook wij hebben in die twintig jaar ervaring een grote verzameling aan packages opgebouwd. Allemaal binnen ons eigen framework. En daar hebben wij de volledige controle over.

Packages in magazijn | Loyals

De tijd die erin zou gaan zitten om ons hele team in te wijden tot bijvoorbeeld een Laravel zou voor ons geen winst opleveren, want:

  • we maken er geen betere producten door;

  • onze klanten zullen het niet merken en;

  • we werken er ook niet sneller door.

Voor ons én onze opdrachtgevers is het dus geen betere oplossing.

Een eigen framework vs bestaande frameworks

De afweging tussen een eigen framework en een bestaand framework blijft lastig. Er zijn natuurlijk veel mooie features in bijvoorbeeld een Laravel, welke je productiviteit een boost geven. Toch weerhoudt niets ons ervan om dat zelf in ons eigen framework ook te doen!

Ik werk de laatste maanden veel met Laravel, ik heb een aantal jaar in CodeIgniter gewerkt en heb ook ervaring met diverse frameworks in andere programmeertalen, dus het is niet een kwestie van ‘niet beter weten’, maar wij halen een enorme kracht uit het hebben van ons eigen framework.

Uiteindelijk blijven we ons framework altijd evalueren. We vragen ons keer op keer af of dit nog steeds de beste oplossing voor ons, maar vooral voor onze klanten is. Zolang dat het geval is, blijven we ons eigen framework doorontwikkelen. Want zeg nu zelf, iets zelf maken is veel leuker toch?

Leren programmeren of leren ‘frameworken’?

Wat we in onze zoektocht naar PHP-developers vaak merken, is dat er zich een flinke hoeveelheid developers op de markt begeeft die niet zozeer hebben leren programmeren, maar vooral een framework hebben geleerd.

Het gevaar daaraan is dat de basis PHP-functionaliteiten vaak grotendeels onbekend zijn, en ze kijken of ze water zien branden op het moment dat de voor hun bekende tools niet meer beschikbaar zijn.

Een technisch PHP-voorbeeld:  Laravel heeft een functie “dd()” (dump and die), dit houdt eigenlijk in: “Schrijf deze data naar het scherm en stop het script.”

Dit is super nuttig bij het onderzoeken en debuggen van code, maar ook zonder deze functie zou een PHP-programmeur moeten weten hoe je iets naar het scherm schrijft, en het script stopt.
Mijn advies voor elk (beginnend en gevorderd) developer die ervaring heeft met slechts 1 framework is: Zorg dat je minstens nog een framework eigen maakt. En vraag jezelf ook altijd af of je ook weet hoe de programmeertaal werkt zonder de bekende tools die het framework biedt!

Benieuwd naar het Loyals PHP framework?

Ben je na het lezen van deze blog benieuwd naar het uitgebreide PHP framework van Loyals? Ik geef je graag een kijkje in onze PHP-keuken! Neem even contact op met ons team, dan spreken we elkaar snel.

Terug naar overzicht

Interesse gewekt of gewoon een vraag? Neem contact met ons op

Als je hieronder je gegevens achterlaat, komen we zo snel mogelijk bij je terug. Liever bellen of mailen? Dat kan ook! Je bereikt ons telefonisch op 0297 38 52 52 en via de mail op hallo@loyals.com.