Waarom je je website beter kunt ontwikkelen met DDEV in plaats van MAMP of XAMPP
Jaren geleden werden veel websites ontwikkeld met de middelen die toen beschikbaar waren. Veel ontwikkelaars hadden server draaien waarop de website werd gebouwd. Erg handig, want je kon iedereen mee laten kijken tijdens de voortgang. Een groot nadeel bleek te zijn dat je veel bestanden heen en weer aan het up- en downloaden was. En dat je na wijzigingen handmatig de webpagina in je browser opnieuw moest verversen om de resultaten te zien. Om nog maar niet te spreken over de beperkingen die je had om te debuggen. Later verschenen oplossingen als MAMP en XAMPP. Programma’s waarmee je op je eigen PC een omgeving kon creëren met instellingen die leken op de server waar de website uiteindelijk werd gezet. En toen kwam containerization en veranderde alles.
Een wereld van verschillen
MAMP en XAMPP hadden als groot voordeel dat je je bestanden lokaal had staan. Dat wil zeggen, ze zijn direct (offline) op je PC benaderbaar. Dat kwam de ontwikkelsnelheid ten goede, want je het continu up- en downloaden van bestanden werd tot aan release verleden tijd. Een groot voordeel was ook dat je los van de online omgeving ontwikkelde en daarmee niets stuk kon maken voor degene die al bezig waren met de eerste acties om de website te vullen met content. Toch bleek het niet altijd rozengeur en maneschijn, omdat het MAMP en XAMPP vaak veel tijd kostte om een lokale omgeving exact gelijk te maken met de productieserver. Tevens betaal je voor een uitgebreidere MAMP Pro al € 99,-. En dat terwijl DDEV volledig gratis te gebruiken is!
Met de komst van containers werd het mogelijk om geïsoleerde omgeving met de exacte instellingen van de productieserver op te zetten. Door het gebruik van Docker kan een ontwikkelaar meerdere omgevingen afzonderlijk van elkaar laten draaien, maar kan deze ook met elkaar in contact brengen via een geïsoleerd netwerk. DDEV is een tool die hierop inspringt en gebruikmaakt van de handigheid van Docker. Naast dat het je eenvoudig je beheer over je omgevingen laat verzorgen, krijg je er een hoop ontwikkeltools in meegeleverd. Zo heeft DDEV standaard HTTPS, Mailhog, configuratie voor verschillende PHP en MySQL versies, Redis, PHPMyAdmin, Ngrok en XDebug. Het biedt dus een complete development omgeving voor elke site die je ontwikkelt. En een groot voordeel, deze configuratie is te delen met andere ontwikkelaars. Handig als je samen aan hetzelfde project werkt, maar ieder op zijn eigen PC ontwikkelt.
En dat is pas het begin…
Voor wie is DDEV geschikt?
Ik zou kunnen zeggen, voor iedere professional en technisch onderlegde hobbyist die een website of webshop wil ontwikkelen. Of je nu met MacOS, Windows of Linux werkt. Wel wil ik er meteen bij zeggen dat als je van MAMP of XAMPP komt, je kennisniveau nog wat bijgespijkerd zal moeten worden. DDEV is namelijk een tool die zich aan laat sturen via de command line interface (CLI). Dit kan een drempel lijken aan het begin, maar met de uitgebreide documentatie zal het vrijwel iedere ontwikkelaar lukken om DDEV aan de praat te krijgen.
Ook maakt het niet uit of je in een eenmanszaak, klein of groot bedrijf werkt. De tool is namelijk voor elke PHP web development use-case geschikt.
Een DDEV project starten, stoppen en configureren
Voor je verder leest, kun je Docker en DDEV het beste eerst installeren. Hoe je DDEV installeert op je PC lees je hier in de documentatie.
DDEV “leeft” als configuratie binnen je website project. Het is dus onderdeel van je codebase. Deze configuratie is opgebouwd uit onder andere een config.yaml
bestand. Dit bestand is terug te vinden in het mapje .ddev
in de root van je project. Hierin staat welke PHP versie je bijvoorbeeld wilt gebruiken of welke hostnames er in het project gebruikt worden. Dat laatste kan handig zijn als je een project bouwt met meerdere domeinen. Je kunt deze configuratie gewoon naar gelieve aanpassen, maar let erop dat je na je wijzigen het project opnieuw op moet starten via ddev restart
.
Zodra alles draait en je via de gegeven hostname, bijvoorbeeld https://my-project.ddev.site
je project in de browser kunt benaderen, ben je klaar om je code te wijzigen en de wijzigingen in je browser te bekijken.
Volgende keer: databases, debugging en versiebeheer
Enkel HTML of PHP code draaien is voor de meeste ontwikkelaars maar een fractie van het geheel van een volledige website. Het importeren van een database, fouten opsporen en versiebeheer via Git zijn voor velen van cruciaal belang om goed te kunnen ontwikkelen. Volgende keer leg ik meer uit over het gebruik van databases in je DDEV project. Houdt deze blog dus goed regelmatig in de gaten. Happy coding!
Nieuwsgierig geworden naar de inzet van DDEV en kun je niet wachten op een volgend blogartikel? Neem dat contact met me op voor een één op één online beginnerstraining. Ik leg je dan stap voor stap uit hoe je kunt starten met jouw project in DDEV.