Laravel: Framework voor de ontwikkeling van webapplicaties (deel 1)

Wij bouwen graag webapplicaties, van een simpel reserveringssysteem tot een complexe online sporttoto. Voordat we beginnen aan de bouw van zo’n webapplicatie, moeten we besluiten of we voor de ontwikkeling gebruik gaan maken van een bestaand framework, en zo ja welk framework. Uiteraard hangt zo’n besluit af van de wensen van de klant. Voor sommige webapplicaties is WordPress een goede optie. WordPress neemt je het nodige programmeerwerk uit handen met bijvoorbeeld het beheren van gebruikers met verschillende rollen. Mocht de klant ook nog een blog of simpele website bij zijn webapplicatie willen, dan ben je met WordPress van alle gemakken voorzien.

Wil je echter de mogelijkheid hebben om je webapplicatie volledig naar wens op te bouwen en tot in de kleinste details zelf te kunnen beslissen hoe een bepaalde functionaliteit exact werkt, dan kunnen we een systeem volledig op maat bouwen. Zelfs voor zo’n volledig custom webapplicatie stellen we ons zelf de vraag: beginnen we helemaal vanaf scratch, of gebruiken we toch een framework dat de absolute basis alvast bevat? Voor een kleine, simpele webapplicatie is het prima om vanaf scratch te beginnen en dus te starten met een blanco texteditor. Zodra een webapplicatie echter complexer wordt, is een framework toch wel erg wenselijk. Een framework helpt je om de code gestructureerd te houden en biedt bijvoorbeeld de basismogelijkheden om een veilige webapplicatie te bouwen.

Laravel

laravel logoWij hebben inmiddels voor het populaire framework Laravel gekozen. Laravel maakt gebruik van de model-view-controller structuur en biedt allerlei mogelijkheden om de ontwikkeling van een webapplicatie te vereenvoudigen. Zo maakt Laravel het eenvoudig om je database goed te beheren. Ik heb het altijd een uitdaging gevonden om, als een webapplicatie eenmaal live is terwijl je lokaal doorontwikkelt aan dezelfde webapplicatie, de database synchroon te houden. Doorontwikkeling houdt vaak in dat je de databasestructuur aan moet passen en deze aanpassing zal natuurlijk ook op de live versie van de webapplicatie plaats moeten vinden. Laravel maakt gebruik van ‘migraties’. Dit houdt in dat je een wijziging in de database niet direct maakt in de database-beheertool (bijv. phpmyadmin), maar in een eenvoudig te schrijven bestandje. Deze migratie-bestanden kan je vervolgens gemakkelijk in versiebeheer houden. Als de ontwikkeling van de nieuwe functionaliteit dan klaar is, hoef je alleen nog maar te zorgen dat alle bestanden op de webserver terecht komen. Vervolgens voer je met één simpel commando de migraties uit en je database is weer up to date.

Ontwikkelomgevingen

Als je een wat ingewikkeldere webapplicatie bouwt, is het verstandig om gebruik te maken van versiebeheer (bijvoorbeeld Git). Je zorgt er dan voor dat je zowel een lokale, staging als live omgeving hebt. Een nieuwe functionaliteit voor een webapplicatie ontwikkel je dan eerst lokaal. Ben je als ontwikkelaar tevreden, dan komt deze functionaliteit ook op de stage-omgeving. Zodra iedereen, inclusief de klant, tevreden is kan de nieuwe functionaliteit doorgevoerd worden in de live-versie van de webapplicatie. Wat deze workflow soms wat omslachtig maakt, zijn de verschillende configuratiebestanden bestanden die je in verschillende omgevingen hebt. Iedere omgeving heeft tenslotte zijn eigen database met bijbehorende inloggegevens. Laravel biedt de mogelijkheid deze verschillende ontwikkelomgevingen binnen de webapplicatie te herkennen en automatisch de juiste configuratie te gebruiken. Zo hou je alle configuratiebestanden overzichtelijk bij elkaar in versiebeheer, terwijl je webapplicatie automatisch de juiste bestanden gebruikt.

Het gebruik van database migraties en de automatische herkenning van je ontwikkelingomgevingen zijn slechts enkele dingen die de ontwikkeling van webapplicaties met het Laravel framework vereenvoudigen. Volgende blog meer over de eenvoudige manier waarop je ‘create, read, update, delete’ (CRUD) operaties uit kunt voeren met behulp van Laravel.


Mijn Twitter profiel Mijn Facebook profiel
Leonie Derendorp Webdeveloper and co-owner of PLint-sites in Sittard, The Netherlands. I love to create complex webapplications using Laravel! Laatste bericht
How to create a good design as a developer

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *