Friday, December 15, 2006

how to enjoy JavaScript programming: Aptana

With the increasing popularity of AJAX, the upcoming release of ASP.NET AJAX, and seemingly ubiquitous JavaScript UI libraries available one the web, there is one thing that ASP.NET developers seem to be doing a lot more of these days: JavaScript. And if you're like me, you've been bouncing around from tool to plug-in looking for a decent JavaScript productivity and debugging IDE that enables you to do JavaScript just as easily as you do ASP.NET.

Until today I thought the promised land was Orcas, the next version of Visual Studio due in 2007. Orcas will ship with an integrated JavaScript debugger and powerful JavaScript Intellisense engine that will bring the act of programming for the client much closer to the blissful, Intellisense-powered server programming we enjoy today. One of the biggest barriers to wide(r)sperad adoption of AJAX in .NET applications is the lack of good tools for writing and debugging JavaScript, and Orcas will definitely help lower that barrier. But why wait for late 2007 to begin enjoying JavaScript programming?

An amazing JavaScript/HTML/CSS editor has been built that brings all of the future promises of Orcas to your desktop today. Aptana is the brain child of former JRun developer Paul Colton and it is an incredibly beautiful and powerful tool that provides unparalleled JavaScript (and CSS) editing and debugging tools. And it's free.

Aptana is being developed and distributed under the EPL (Eclipse Public License), which means the binaries and source code are being made publicly available for free. What's more, the EPL allows developers to take EPL licensed software, build proprietary add-ons or modifications, and redistribute them commercially and royalty free. The EPL is much more liberal in that sense than the GPL and it amazes me that a tool as incredible as Aptana is being given away so freely. Aptana is still a beta product, though, so maybe plans for a commercial version will emerge with time. I hope they do because this development team is doing great work.

As telerik developers, we have huge client-side libraries that we can take advantage of with all of the r.a.d.controls. I'm not sure how well suited Aptana is in its current state to help provide "Intellisense" support for the control client-side APIs due to their obfuscated state, but it will certainly make the task of writing JavaScript that consumes those APIs more enjoyable. Perhaps the telerik team can find an easy way to expose their client-side APIs through tools like Aptana and Orcas in the future.

My words can do little justice to the Aptana project, so I encourage you to check out their site (which itself is amazingly well constructed!) and see Aptana firsthand. If Aptana remains a free product once it leaves beta, I think it could easily stand second only to FireFox as one of the best looking and most useful Open Source projects ever created.