Osx as a development platform
Developers are a picky kind. I know because I’ve been one and dealt with some for quite a long time now. When it comes to platforms to develop on and for, things do get tricky. I come from a linux background, having been involved in “a few”:http://gnome.org opensource projects, and around June 2004, I got myself a 17″ Powerbook to increase my productivity (mainly because i was doing much more graphic design and web development than desktop development, and you know how macs go with that).
So, a few months later, now that I’ve been using this machine for so long, I’ve got a well formed opinion on apple computers (and osx itself) as a development platform and how it compares to Windows and Linux.
It is surprising, I must admit, how much of a development community macs have that most people don’t realize because they weren’t really looking. It is also surprising, once you start connecting the dots, how much of today’s real world web-applications come from apple-centered development teams. Why? Because as the os itself, development on a mac “just works”.
Having a unix layer beneath the eye-candy (because you do have to admit all the bells and whistles) is a really powerful thing. Basically it means you get all the fun of Linux development tools, and all the desktop linux just doesn’t have yet (they are trying, though - “KDE”:http://www.kde.org 3.4 is looking impressive). And there’s Apple’s own XCode (freely available on “Apple’s Developer Connection”:http://developer.apple.com) that’s a pretty good IDE if you’ll be doing native Cocoa applications.
Enough talking about what everybody knows, here are some down-to-earth recommendations if you’re considering developing on a mac:
* Eclipse, a project started at IBM is a pretty amazing IDE if you’re developing Java (and as of a few months ago, C++ too).
* Textmate, a text editor that I’d kill for on Linux or Windows, that makes a web developer’s dreams come true due to its highly extensible platform, macro control and snippet tools.
* Darwinports (which I’ll write some more on soon), provides unix-friendly users with a package system to install a few important tools (I use it to compile subversion, apache2, ruby, php, mysql and a few other misc packages).
There are other important things available for the Osx platform around, so you might want to look around if you’re interested. Mysql has recently started to produce binary packages for their database software that actually integrate quite nicely with the OS itself (even though I compile my own, I do like to be able to go 1-click sometimes).
So overall, osx surpasses linux in many ways when it comes to developing some kind of products, like web applications or Java-based software (I hate java, but being platform independent is sometimes the life-saving excuse). You’ll obviously have to considering what you’re developing to carefully select the operating system, but if you’re aiming for the web, you should look no further
