Review: Aptana Development Environment

Update: I’ve posted an addendum to this review after a year using Aptana.

I stumbled across Aptana quite by accident, while I was looking up some Ruby on Rails resources, as the beast formerly known as RadRails is now a part of Aptana. Aptana is built on Eclipse, which carries some good and bad news. Normally, I use PDT, Eclipse’s official PHP development framework. However, unlike PDT, Aptana provides editors for CSS and JS, superior HTML abilities, and its very own php editor.

The Good

Aptana supports html, css and javascript editing natively. It includes Subclipse as a supported plugin, and has plugins for PHP, Ruby (as discussed), and Adobe Air environments. It even does iPhone-specific development. Stability is not a major issue — Aptana is built on Eclipse, which is a very mature open-source project.

Aptana has a built in site manager, sort of like Dreamweaver’s, which will allow you to make updates to your local copy and then click “synchronize” for instant gratification. Unfortunately, I tend spread development between my laptop and my desktop rig, so the ftp synchronize can be deadly. I prefer to use Subversion to keep the two up to date with each other, then upload the changes from a third control directory that I always update before sending off.

The Bad

Eclipse, and by extension Aptana, is built on Java. Apologies to major users of Java, especially those who will tell me how wrong this is, but the jvm is, at times slowwwwww. However, this was alleviated somewhat by switching my Ubuntu setup to use the sun 6 jvm, instead of the gcj.

The Editors

Aptana contains four main editors that I use – the HTML, CSS, JS, and PHP specifically. Of course, all can be used in the same document without difficulties. Each contains the usual goodies that any IDE for anything ever has to have before it’s called an IDE: Error checking, syntax highlighting, autocomplete, and function lookups.

HTML Editing

Aptana’s HTML editor carries a notable feature absent from PDT, and Eclipse in general — namely, the ability to preview the document within the program. The rendering engine is variable, as Aptana will find what it needs from your installation directories. Unfortunatly, this means no IE preview for Mac or Linux users, which is still a drag, but hardly and unexpected one. However, the autocomplete functions that come up automatically while you write, and can be triggered by ctrl+spacebar, will tell you which html tags and attributes will be recognized fully by each browser, no matter your OS. Very useful. I only wish it would discriminate between versions of IE. Aptana also has code snippets that can easily be inserted into the code from the little menu to the bottom-right. These are actually available in all the editors, but only the HTML has anything useful. Specifically, the insert DOCTYPE snippet always saves me a minute or so of googling. If only there was a lipsum generator, I would never have to leave.

The formatting for HTML is much smarter than PDT’s, which has some strange ideas. This is actually one feature I use frequently, especially when editing websites authored by someone else (or, heaven forbid, Dreamweaver (or, heaven forbid, Frontpage)). The latest Aptana added a row of controls to the top of the editor, with functions ranging from useful, like the insert table feature, to pointless, like the “wrap with span” button. It could well be that using these buttons somehow holds the key to automatically adding <p> tags to copied-and-pasted blocks of text, but I havn’t found it yet. The editor has HTMLTidy built in, which again could be useful for editing other people’s pages — after all, you only author perfect code, right?

CSS Editing

Aptana beats PDT hands-down, because PDT has no CSS editing functionality. In fact, the only basis of comparison I have is with Dreamweaver, which Aptana skunks in all circumstances because Dreamweaver sucks and I hate it.

Anyhow, the CSS also features browser checks in the auto-popup, which is extremely handy if you’re not familiar with some of the quirks. It also highlights syntax, autocompletes, and lets you quickly fill in url() thingys. There’s also a preview, which is nice for checking typography. It shows you h1 through h6, paragraphs, lists, and so forth.

Javascript Editor

Aptana is the only JS ide I know of, and it does a good job of it too. Besides the usual expected goodies, the JS editor comes with built-in support for all the most popular JS libraries: Prototype, Scriptaculous, Mootools, JQuery, YUI, and a bunch of other ones I’ve never used. There’s not a whole lot to say here; the fact that there’s a JS ide at all is pretty impressive. But it’s there, and it works well, and that alone is enough to recommend it for your javascript needs.

PHP

Here’s where things start sputtering. Although Aptana is more than capable of handling PHP via its plugin editor, I must say that PDT does a better job. For one, many of the shortcuts and handy functions available in PDT, and indeed all of Eclipse, are missing in the Aptana version. Nothing dealbreaking, but it’s sometimes annoying, depending on how familiar you are with Eclipse to begin with. What might be a deal-breaker for some is that Aptana’s PHP plugin’s autocomplete does not recognize objects. You will find that autocomplete kicks out completely right around “$this->,” although it’s at least astute enough to know that $this exists. However, the editor functions fairly well besides, with a full library of functions.

Ruby

Aptana does ruby. That’s all I know, honest.

Aptana has a built in site manager, sort of like Dreamweaver’s, which will allow you to make updates to your local copy and then click “synchronize” for instant gratification. Unfortunately, I tend spread development between my laptop and my desktop rig, so the ftp synchronize can be deadly. I prefer to use Subversion to keep the two up to date with each other, then upload the changes from a third control directory that I always update before sending off.

Overall, Aptana is an excellent solution for anyone who makes websites. It’s not as good at PHP as its specialized cousin, but it does the job. If you work with Javascript frequently, you are certainly doing yourself a disservice by not at least trying Aptana out. For someone like me, who does it all, I’m willing to lose a touch of PHP mojo to have access to all the rest in one package – and a pretty package, at that.

Leave a Reply

  • I promise I'll be nice to your email address