WordPress development tools and environments have come a long way since I started working with WordPress in 2005. Back then I mostly coded using notepad and tested my changes in a live environment.
As time went on, I quickly learned about WAMP and later on XAMPP. They became my tools of choice for managing my local development environment. They worked great and testing code was a lot easier than it had ever been.
I then left the web development space in 2012 and started working in the payments industry. I had a good three year run in that industry but knew deep down that my calling was web development. Specifically WordPress development.
So when I returned full time to WordPress development, it quickly became apparent that the tooling had advanced rapidly. There were now excellent new tools for managing WordPress development environments.
With the rise in popularity of Vagrant and virtualization across many different development platforms, it only made sense that the WordPress community adopted these kinds of tools too.
There are many advantages to virtualizing your development environment.
Advantages of a virtualized development environment
- Your development environment is scripted and automated. There is very little that needs to be done to setup your environment other than running a
- It’s now also portable. You can simply package up your environment and give it to a coworker or client who can then run it on their machine without hassle.
- Since your environment is a virtual machine, it’s cross platform. Tools like VirtualBox work great across multiple different operating systems. There are no specific configs based on the operating system that you’re working on.
- You can closely replicate your live environment. Your local development environment can run the same operating system, configurations and server as your live environment.
There are of course some downsides to virtualization as well. Depending on how many virtual machines you’re running and the memory allocated, they can be a bit resource intensive. It also takes time for the provisioning to happen since you’re basically downloading and installing a whole new machine.
Those are the tradeoffs but in my mind they’re minor compared to what you getting out of virtualization.
VVV – Varying Vagrant Vagrants
There are a number of different tools currently available for setting up a virtualized WordPress environment. My personal favourite is Varying Vagrant Vagrants. That said, I have not yet had the time to explore many of the other options available. They include Wocker, VagrantPress, HGV, and more.
VVV seems to be the most widely used of what’s available and the community support is pretty good. I’ve rarely run in to any issues with it.
If you’re still using WAMP, MAMP or XAMPP or maybe even running a web service directly on your development machine, then I would encourage you to try out VVV.
To get you started I’ve previously recorded a video on getting started with VVV for WordPress development. After going through it you should have a good grasp of VVV and be able to start using it immediately.
Setting up VVV for WordPress development
Additional resources and videos
Additionally, check out my article on PHPStorm for WordPress development which includes a video on integrating VVV into PHPStorm.
Lastly, here is another video on my 5 top Vagrant commands that you need to know.