Aptana Studio (IDE) – A First Look
// June 13th, 2009 // Development
Here at Cando, we consider ourselves old school for the most part. We don’t use programs like Dreamweaver or any HTML applications like it to develop web apps. While they have their place, we code everything by hand — every line of code in CSS, HTML, PHP, etc. is done solely in our favorite text editor, Text Wrangler from Bare Bones Software. In fact, we don’t even use the Visual editor in Wordpress to write these posts. Yes, we’re hardcore to the bone.

Recently, I took a look at a few IDEs to see what all of the fuss was about. After trying 4 of them over the course of a week, I was rather unimpressed with the results. Granted they work slightly differently from each other and overall the goal is to speed up development, I found them rather difficult to use. I also particularly found the interface to be an eye sore. Though thinking about it further, I decided to give them another go and be a little bit more open to how they work. I won’t go into which IDEs they were though except to say that the one that stood out from crowd was Aptana Studio.
When launching the IDE for the first time, you’re presented with My Aptana. This is essentially your welcome screen with options to create a new project, recently opened files, installing new plugins and a hosting solution called Aptana Cloud Connect. Aptana’s Cloud Connect is their cloud hosting solution that is (haven’t tried it) tightly integrated into their IDE. Of course you’re not limited to using it although it is sprinkled everywhere within the IDE. The one thing about Aptana Studio that I would love to turn off is their upsell to use their cloud service. But that is just a minor issue and I’m hoping somewhere within it is that option. Definitely not a deal breaker, more of an annoyance.

Everything Aptana Studio deals with “Workspaces.” Each workspace can contain what appears to be an unlimited number of projects from various sources. Creating projects is rather simple and straight-forward. You can create projects from FTP and SVN as well as local and a few additional options using a wizard tool. When creating a local project from scratch, you have the option of importing a Javascript library and there are quite a few of them including Adobe Spry, Dojo, jQuery, Mootools and Prototype. When you click “finish,” the project is set up including a lib directory with the latest version of any JS library you select automatically copied into it.
Staring at a semi-blank HTML page as your starting point, the next steps are coding. Oddly, although I selected jQuery as the Javascript library to use, the initial page doesn’t have a link tag pointing to it. I have to do it myself. Not sure if this was intention and they opted to leave it to the developer or an oversight. The other thing I thought was odd was that if you’re only presented with JS libraries to import when creating an HTML project. When you create a PHP project, you’re not given that option. Considering that JS libraries are usually included in any type of project, its something worth noting. I typically have a custom directory structure anyway so moving things around isn’t a problem.
Writing code with the syntax highlighter, at first, seemed to get in the way. However, after using it for a while it has been pretty useful in the process of writing code especially with code completion turned on. It has full code assist, code outlining and formatting built-in. Speaking of which, with plugins for Adobe AIR, PHP, Ruby on Rails, Python, iPhone and Nokia, Aptana Studio wants to be the all-you-ever-need IDE. Its almost a blessing to not have to jump around to different editors and helps keep the process of coding similar regardless of language.
Once you have enough code written to actually do something, its a breeze to run them in preview mode directly within the IDE and see results in its Safari, Firefox and iPhone preview panes. This of course, is all within the IDE itself and a simple matter of setting only the ones you need for the project. I think the most helpful has been executing code in the console view with its built-in PHP server. Usually not until a later stage do I really need to see what it looks like fully rendered in a browser, so a definite plus.
As the number of features in this IDE is extensive, I cannot feasibly go through them all such as Perspectives, debugging with breakpoints, setting watchpoints, and stepping through code. Most of these seem pretty standard when compared to other IDEs so if you’ve used them before, you have them at your disposal here as well. However, I did want to touch on one that I thought was rather interesting called Jaxter.
Jaxter is an open-source Ajax server. Using it you can create entire apps using Javascript and Ajax. What’s interesting here is that you can add a command such as :
<script runat=”server”>
var resultSet = Jaxer.DB.execute(”SELECT * FROM myTable”);
var newPrice = resultSet.rows[0].price;
</script>
The above code, using JS, would query a MySQL DB and set a variable based on the resulting row returned. Interesting huh? Well, Jaxter support is built into Aptana Studio including the server itself. So you could write and test Jaxter apps without ever leaving the IDE. Besides JS, Jaxter also processes HTML, CSS, JSON, DOM scripting and more as it uses the Mozilla rendering engine thats also used in Firefox 3. Not having ever used it in the past, it was a breeze to write some basic apps and it shows a lot of possibilities. Perhaps that will be a follow-up post.
In closing, Aptana Studio seems extremely feature-rich compared with the other IDEs I tested. And coming from a non-IDE background, it was important that I completely understood where I was at all times — which I did. Although there are a bunch of things in here that I may not use in the near future, I have already imported some of our internal projects and haven’t regretted it at all. The one thing which I’m sure is in there somewhere is this… after creating a project from FTP source and pulling in the project from SVN, it would be great if I could edit and commit to SVN and FTP in one step. Perhaps I didn’t RTFM enough to know thats its right under my nose.







I guggest to try free PHP IDE Codelobster PHP Edition with special plug-ins for many popular frameworks.