A total Eclipse
Within both Wide Area in the UK and W A Communications in the US, we’ve recently been considering standardising our development tools. Until now, we’ve allowed our developers to choose their own platforms and development tools, which has resulted in a hugely disparate collection of software being used. Some developers prefer to run on Windows, some on Linux and others – ourselves, in particular – on Mac OS X. And given that we’re all running different platforms, it’s inevitable that the editors and other tools we use are different, too.
Or is it inevitable? There’s a tool we’ve been seriously considering adopting as our standard platform; namely, Eclipse (www.eclipse.org) – an editor that’s really a fully integrated development environment, or IDE. It started life as a development tool for Java programmers, but is now an excellent solution for many other languages, too. One of the really nice points about Eclipse is that it’s written in Java itself, which means you can run it on any platform that supports the Java Runtime Environment; in other words, on any sensible operating system.
It has to be said that the fact Eclipse is written in Java caused us mild concern at first when we started examining the different possibilities. Put that down to a prejudice left over from having used earlier incarnations of Java to write desktop applications. We remember when “write once, run anywhere” was something of a joke, and you spent 20% of your development time on the core of the software and 80% of your time tweaking it for different target platforms. As for performance…well, forget it. (Anyone else remember the beta version of WordPerfect, written in Java, that floated around for a while?) These days, things are very different, and Java is as viable a development language as C++, Objective-C and the various Microsoft .NET languages like C#, and it really does now run on many different platforms without the need for much, if any, individual platform configuration.
But back to Eclipse itself. What exactly does it do? Well, it provides a fully integrated development environment for almost any language you can throw at it thanks to its developers’ strategy of structuring its main engine in such a way that plug-ins can be added to enhance just about any aspect of its functionality. Since we’re an internet/web development shop, the languages we’re most concerned with are PHP and Ruby (or, more precisely, Ruby and Ruby on Rails). We do occasionally use other languages, though – Ian has a great fondness for Perl, for instance – so Eclipse’s plug-ins for other languages give it a significant advantage over IDEs that are specifically designed for a single language.
Aptana for Ruby on Rails
One of the biggest problems with Eclipse is that there are so many plug-ins around it can be difficult to find the best one for the job, but with regards to using it with Ruby on Rails by far the best of the bunch is a project called Aptana (www.aptana.com).