So I thought it was time to end the external summer that is the Apple love in here at Sweet-Apple, and be a little bit controversial.
As a whole, OS X makes an excellent web development platform – it’s got some great unique applications like Textmate and Coda, plus the usual platform agnostic suspects such as DreamWeaver, Eclipse and Netbeans. But writing code is only half of the equation. You also have to able to execute and test your code. And for this freelance web developer sitting in rainy Bradford on Avon, that means one thing. Apache and PHP.
For more years than I care to mention, I’ve built my own LAMP stack on OS X, downloading, installing and configuring Apache, MYSQL, PHP and Webmin. Every time there’s a major OS “point” release from 10.3, 10.4, 10.5 and 10.6 I’ve had to rebuild that stack, because what Apple supply out of the box leaves much to desired.
Snow Leopard comes with PHP5.3 and Apache2 preinstalled, which is great. Unfortuantely they are missing a number of vital PHP extensions for your average LAMP developer. Firstly, no XDebug. I know a lot of people are still printing debug code to screen, and I’m guilty myself, but sometimes you just need to be able to fire up a debugger and step through your code. Secondly, no mcrypt. I use Magento for eCommerce development and it requires mcrypt to run. Thirdly there’s no APC or memcache. Now I know that PHP6 will have APC rolled into the core, but for now I want to be able to get some real performance benchmarks when testing application performance, and APC can help boost even the most complex application. Lastly, no ImageMagick. I prefer it to GD as ImageMagick seems to handle large images much more gracefully.
And then we get to the really big one. OS X doesn’t really work well when you use the Case-sensitive HFS+ file system. Some critical applications like Creative Suite don’t even install! When is this important? Because every darn webserver out on the internet is Case-senstive. Many is the time I’ve moved files onto the live web server and found a few niggly problems because of uppercase/lowercase mismatches.
So here’s a little plea to Apple. Next time you’re planning a “point” release to 10.7, how about having a little think about anyone doing web development. If you can give us a build that out of the box has everything needed for LAMP development, you’ll bring over a lot of converts currently toiling away on Windows boxes…