There’s a new trend in Web development tools that seems to have arrived first for Mac users, but that I suspect will find its way to Windows and perhaps even Linux as well at some point. When you deploy Web applications, they generally rely upon system level services like a Web server, a relational database, and perhaps an application server. On computers running some Unix-like operating system, this means that the files all live in system directories like
/etc. On Windows machines, you find yourself installing applications like MySQL and Apache as Services.
That’s fine for servers, but what do you do if you just want to run these applications on your laptop so you can do some development? Installing all of these packages just so that you can test out some PHP scripts or run a Rails application is a lot of work and adds significant cruft to your system. Things can get even more complicated when you start installing libraries from PEAR for PHP or Gems for Ruby. (This is one area where Java has an advantage over most other application platforms — it’s easy to let your libraries live with the applications that use them rather than installing them at the system level.)
In the Mac world, there’s a trend toward building all-in-one application packages. I first encountered it when I was having trouble getting Ruby on Rails to work on my Powerbook. Someone pointed me toward Locomotive, which is a self-contained application that has everything you need to start building Rails applications. Then one of my coworkers turned me on to MAMP, a similar package for PHP, Apache, and MySQL. I would expect to see a similar package for Tomcat soon, and then my life would be more or less complete.
These self-contained installs of servers, libraries, and everything else you need to kick start your Web development are a strategic advantage for OS X. I can get a new developer going on a Mac in 15 minutes by explaining to him where to get Locomotive and how to check out our application and run it. As someone who spends most of their time developing Web applications, I can’t really imagine going back to Windows at this point, and that’s not as much due to Apple as it is to the people developing incredibly useful free software for OS X.
From the comments: xampp is a cross-platform project that provides a self-contained environment for Apache, Perl, PHP, and MySQL.