Webreakstuff's blog on design, development and strategy. Click here to subscribe.

Osx as a development platform

Fred Oliveira on March 17, 2005 Comments (1)

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


Subethaedit and everybody else

Fred Oliveira on Comments (1)

The Mac OSX platform has a lot to gain from the creativity it keeps requesting from its users. A great example of that, is “Subethaedit”:http://www.codingmonkeys.de/subethaedit/, a text editor based on Rendezvous technology. What subetha allows you to do is work on collaborative texts, on any language or scheme — which is a really fascinating thing in a team development environment, I’m sure you agree.

Now, “that’s awesome” you say. And indeed it is. However, to my own eyes, “Codingmonkeys”:http://www.codingmonkeys.de (the team of german students and developers behind Subethaedit) are lacking some forward-thinking. Subethaedit is great yes, if, used in a Mac-centered-subetha-using development environment, which isn’t always the case (heck, when IS it the case?).

So, how could they change that?

Opening up the protocol behind “Subethaedit”:http://www.codingmonkeys.de/subethaedit/ would be a huge step. They don’t need to turn Subethaedit open source (they already support oss developers by charging only for commercial use). Imagine the possibilities of having your hybrid team of developers, working on any different number of platforms (hell, enough with windows already - I’m talking unix here, where osx relies on), with one common goal, running on top of subethas Rendezvous code. That would be a production environment.

I’m not exactly sure opening up the protocol would be the be all end all solution on this case, but considering rendezvous isn’t only being developed for Apple OSs or computers anymore (in fact, the 4th technology preview for Windows was released not long ago), what’s on Codemonkeys way to creating a platform-independent collaborative editing technology?

*A note*: I do not use subethaedit, as writing this entry might lead you to believe. Instead, i use the awesome “Textmate”:http://www.macromates.com (not free, but so mature and productive that I can hardly see me go back to using anything else).