Skip to content

Why OS X sucks as a web development platform

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…

This entry was posted in Apple, Magento, Web Development and tagged , , , , . Bookmark the permalink.

2 Responses to Why OS X sucks as a web development platform

  1. Laurie

    Hmm… I can’t agree less… Given you are a developer it should be very easy for you to recomplie PHP to include mycrypt, gd bundled etc… Also installing MySQL is not a massive issue, thanks to the installer…

    No real need to run APC or memcache on a development platform, nice to have it run quickly without and go live with it and have it run amazingly…

    Most of your points would be the same as a Graphic Design, saying MAC OSX sucks because I have to install InDesign, Photoshop & Illustrator… Except most of a developers resources are open source, lucky us…

    So case insenstivity is an issue… really… I have long since stuck with lowercase, hyphen combinations… sort your own naming policy and no really issue… Open Source installations of Magento, and Drupal have no problem with case insensitive / sensitive issues out of the tar… so why should you…

    If the alternative is to run Linux as a developer, okay… BUT to run windows, your dreaming… Mac OSX does not suck for developers… The day Mac OSX came into being LAMP devlopment was made as easy as opening a MacBook, with a little but of time spent “Building the Lamp stack”…

  2. All fair points – but if the point of a development environment is to match as closely as possible the typical live environment sites are hosted on, it’s in your best interests to use a local development platform which reflects that live environment.

    I’m not sure what your experience is, but I’ve often found compiling php extensions for OS X a royal pain in the posterior. If you find it easy, you’re obviously a lot more familiar with *nix administration that your average developer.

    Windows, just like OS X, has most of the stack that’s needed for local development ( MAMP, Eclipse, Netbeans, etc.). Plus it also has the advantage that Java apps like Eclipse (in my experience) run significantly faster.

    Seeing that Apple are rolling OS X Server into OS X 10.7, it looks like there may be some half decent GUI tools for DNS, MYSL and Apache baked into the OS. I just hope they don’t hose your carefully created LAMP environment every time you run a dot OS update…