Vagrant vs Xampp

I used to use Xampp a lot. As a Windows based developer it was extremely useful to be able to setup a quick LAMP stack in a few minutes. This was great for quick prototyping or getting going on a new/temporary PC. However, I quickly learned Xampp had many drawbacks especially when it came to housing multiple projects.

In Xampp, you're quite limited when it comes to storing projects on different areas of your hard drive. It's either in htdocs or its not. Unfortunately, Xampp's simplistic and nice looking UI became less and less of a factor in my descision to move on to bigger and better things.

When Laravel decided to base it's Homestead environment upon Vagrant, I knew it was time to switch. Vagrant isn't as simple to pick up as Xampp, but I find it to be a heck of a lot more powerful. You can hook directly into the shell, you're given a simple configuration file for setting up many sites out of the box, and it uses Virtualbox as a provider.

I'll admit I struggled for hours the first time I tried to setup up Vagrant, but the overhead was worth it. By the time I was finished, all it took was 2 additional lines in my vagrant configuration file to add another site. Best of all, these sites could be stored in any arbitrary place on my harddrive(s)!

With all of that said, I still use Xampp. In fact, I use both. Let me explain why: they both have their own use cases! Like any good developer knows, understanding many languages is more useful than refusing to learn a language because you think it's infeior. The same concept applies to development environments.

Xampp plays nicer with anti virus/malware as Vagrant requires editing host files. Xampp is quick and relatively painless to setup for prototyping or single project development. Xampp is simple and has a nice UI which does a lot of the work for you.

On the flip side, Vagrant is much more expandable. Vagrant is provided by VirtualBox and thus grants full access to the linux shell. Vagrant is more customizable and works great for a home development environment where anti virus isn't an issue.

I hope this article helped you to understand the fundamental differences in phillosiphies between Vagrant and Xampp. In the future I hope to write articles detailing the setup of Vagrant/Homestead as well as Xampp.


Shawn Clake

Freelance Developer

Software Engineering Student - U of R

Current: Assistant to Manager of Instructional Tech - U of R

Web|Unreal|C++|Java|Python|Go

Web: http://shawnclake.com

Email: shawn.lavawater@gmail.com

Email 2: shawn.clake@gmail.com

Posted in Technology, Tutorials on Feb 08, 2017