Twitter Contact Blog

Nick de Kruijk

Fotografie »

Hoe werkt Nick?

woensdag 4 juli 16:01

Hoe werkt Nick?Hoe werk ik anno nu? Lees hier waarom ik heb gekozen voor Laravel, het grootste open source PHP framework.
Toen ik ruim 20 jaar geleden begon met het bouwen van websites was alles anders. Zie mijn vorige blog hier.

Nu is het 2018. En zijn er 1001 programmeertalen, frameworks en platformen waarmee je een site kan bouwen. Je hebt ‘server side’ talen zoals Java, PHP, Ruby, Perl, Python en ‘client side’ talen zoals JavaScript (wat overigens ook met Node.js server side is).

De basis ‘taal’ van een website is zoals wellicht bekend HTML. Maar om te voorkomen dat er voor iedere website pagina een los HTML bestand gemaakt moet worden kan een server side scripting taal uitkomst bieden. Daarmee kan je bijvoorbeeld HTML code genereren op basis van de url. domein.nl/contact moet tenslotte iets anders tonen dan domein.nl/home. Ook kan de inhoud van de website dan in een (MySQL) database worden opgeslagen. Door slim te programmeren kan je met weinig code alle verschillende pagina’s bedienen.

PHP en JavaScript

Ik begon ooit met Perl als server side scripting taal. Niet veel later kwam ik in aanraking met PHP, dat was toen nog versie 3 dus dat moet rond de eeuwwisseling zijn geweest. PHP is nu nog steeds mijn ‘basistaal’. Vrijwel alle hosting providers ondersteunen PHP en dat maakt het natuurlijk extra interessant. Maar om websites op te maken, te stylen en interactief te maken is PHP alleen niet genoeg. Met CSS (Cascading Style Sheets) kunnen html elementen tot in detail worden opgemaakt. Lettertypes, groottes, kleuren, wel of geen randjes of schaduw en zelfs animaties… Er kan echt veel mee, en ieder jaar komen er weer meer mogelijkheden bij. Om websites wat interactiever te maken maak ik ook regelmatig gebruik van JavaScript.

Frameworks

Voor PHP, CSS en JavaScript zijn ook weer verschillende code bibliotheken beschikbaar die het leven van een programmeur weer vereenvoudigen, een ‘Framework’. Een bekend JavaScript Framework is bijvoorbeeld jQuery en die gebruik ik ook regelmatig. Ook voor CSS zijn er tal van opties (Less, SASS) beschikbaar. Ook voor PHP zijn er tal van Frameworks zoals Zend, CakePHP, Symfony en Laravel. Sinds 3 jaar doe ik vrijwel alles met Laravel (wat weer deels gebaseerd is op Symfony).

En WordPress of Drupal dan?

Content Management Systemen (CMS) zoals WordPress, Drupal of Joomla zou je ook als PHP framework kunnen beschouwen. Al zitten die naar mijn mening een laag daar boven, ze bieden heel veel functionaliteit maar ook beperkingen en vereisen een bepaalde manier van werken die ik liever probeer te vermijden. Ze integreren database, templates en het beheer in één pakket. Dat is fijn om snel een website met een standaard template uit te rollen maar aangezien bijna al mijn projecten maatwerk websites zijn scheid ik dat liever.

Database, backend en frontend

Ik hou deze drie zaken het liefst gescheiden. De database staat centraal, alle content staat daarin en alle afbeeldingen en andere ‘asset’ bestanden staan in een map op de server. De backend (beheer omgeving of CMS) vult de database maar heeft verder geen invloed op de opmaak, layout en design van de website. De frontend (de website die de bezoeker te zien krijgt) leest de database alleen maar uit (met uitzondering van een formulier of bestelling) en toont die gegevens in een mooie schil. Zo wordt je ook niet beperkt door het CMS. In theorie is alles mogelijk.

Ok, Laravel dus.

LaravelWat ik zo fijn vind aan Laravel is dat het standaard heel uitgebreid is. Er zitten heel veel ‘packages’ in waarmee je met weinig code standaard functies en onderdelen van een een eenvoudig kan ontwikkelen. Database communicatie is heel ‘Eloquent’. Zie de afbeelding hiernaast, dit staat op laravel.com. Klinkt als een standaard marketing tekst misschien maar het is echt zo!

Wat ook fijn is aan Laravel is de community. Het is geheel Open Source en er zijn echt heel veel mensen die er gebruik van maken, kennis delen, goed documenteren en het framework samen beter maken. Voor veel functies die ik nodig heb voor een website zijn standaard ‘packages’ (vergelijkbaar met een plugin) beschikbaar die op hun beurt ook weer Open Source zijn en worden bijgehouden. En als iets er niet is, of niet voldoet aan mijn eisen dan maak ik het toch gewoon zelf?

Zo heb ik ook mijn eigen ‘admin panel’ ontwikkeld. Zie https://github.com/nickdekruijk/admin. De backend die ik voor vrijwel ieder project gebruik. Dit zou je dus kunnen zien als het CMS achter de website. Kort samengevat is het een gebruikersvriendelijke interface om de content in de database aan te kunnen passen. Niet meer en niet minder. Ik heb er ook bewust voor gekozen om dit open source te maken. Geen (dure) licenties nodig en andere PHP/Laravel programmeurs kunnen er mee verder werken waardoor de opdrachtgever niet aan mij ‘vast’ zit.

« Terug
panorama
Bezoek mij in een oude klompenfabriek
Gelegen op loopafstand van het Centraal Station (5min) zit ik met andere creatieve bedrijven in De Klompenfabriek.

Bezoekadres
Weerdsingel Westzijde 33A
3513 BC  Utrecht
Verlegen?
Laat je e-mailadres of telefoonnummer achter en ik neem zo snel mogelijk contact op.

Zakelijke gegevens
KvK: 30157344
BTW: NL170866270B.01