Book Excerpt and Interview : Aptana RadRails, An IDE for Rails Development
Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications. As described on the official website:
A comprehensive guide to using RadRails to develop your Ruby on Rails projects in a professional and productive manner
- Comprehensive guide to using RadRails during the whole development cycle
- Code Assistance, Graphical Debugger, Testing, Integrated Console
- Manage your gems, plug-ins, servers, generators, and Rake tasks
- Rails 2.0-ready
- Includes a chapter about Subversion and Database integration
InfoQ had the opportunity recently to speak with Javier Ramírez about what the book covers and about the Aptana RadRails IDE in general:
Robert Bazinet (RB): Could you please give us an overview of what this book is about?
Javier Ramírez (JR): In a nutshell, this book shows you how to get the best out of the Aptana RadRails Community Edition IDE. It doesn't teach you to program in Ruby or to develop web applications with Ruby on Rails, but how to use Aptana RadRails for doing those tasks faster and more easily.
The last chapter explains how to further extend Aptana RadRails capabilities by using third-party plug-ins. In this chapter, I explain how to use two of these external plug-ins to integrate Aptana RadRails with Subversion and with the database of your choice.
RB: How does using Aptana RadRails for Rails development benefit the developer?
JR: I'm glad you are using the word "developer" and not "programmer". In the last years, we have seen a shift in the IT industry regarding those terms, especially when talking about building web applications. You will see what I'm talking about if you Google for "COBOL programmer"/"COBOL developer" and "web programmer"/"web developer".
As any Rails developer would tell you, programming is just a part of the development process, but there are many others involved: defining the architecture of your application, creating the data model, designing the look and feel of the application, using a testing strategy, sharing your code with the rest of the team -and eventually with the rest of the world when contributing to an Open Source project-, deploying to different servers, keeping track of requirements, bugs and changes...
This is a non-exhaustive list of the tasks the typical Rails developer has to accomplish on a regular basis, and yet a lot of these developers use nothing but a programmers' editor and take pride on the fact they are not using a complex IDE.
You can certainly develop your applications using only a programmers' editor, but your typical programmers' editor will probably be less powerful than a full-fledged IDE and will be lacking features such as code refactoring, code assistance, or warnings and errors dynamic check. Even if your editor were incredibly powerful, you would still need extra tools for dealing with all of the tasks which fall out of the programming category, and of course each of those tools will have a different interface you will have to learn.
By using an Integrated Development Environment, you will be able to fulfill most, if not all, your development-related tasks from within a single tool. This means you will be able to dedicate more time to the development and less time to fight against your tools, helping you develop applications fast and easy.
RB: Why should developers use Aptana RadRails?
JR: Developers should use Aptana RadRails for the same reason they choose the Ruby language rather than languages like Java: because you can get more things done with less effort. I guess you are wondering what kind of assistance a developer can expect from RadRails. I'm afraid it would take too long to explain everything RadRails can do, so let me just tell you some of the most interesting features.
In the Ruby editor, clicking on a class, method or variable name takes you directly to the variable definition. As an additional help, you can always see an outline of the modules, classes, constants, variables and methods defined in the current file and in any of the parent classes/modules. Besides, as you are typing, the editor will suggest the available method/variables and will check your code for warning and errors on the fly. If you hover over a method, you will get an overlay with the documentation for it, and there is a snippets library available that you can extend with your own snippets. If you need to change a variable or a method name name, extract a piece of code to a different method, or generate accessors you can take advantage of the refactoring tools to evaluate the impact of your changes before you make them effective.
The graphical debugger lets you easily set or remove breakpoints, control the execution step by step, watch and inspect the values of your variables, and execute arbitrary code at any moment in the context of the current breakpoint. The built-in Tail View lets you monitor any number of log files comfortably in a tabbed interface, and you can define your own filters to change the color of the output according to the contents. For example, you can assign different colors based on the priority of the output (debug, info, error...). You can invoke any generators and Rake tasks from within RadRails, and you can also manage your gems and plugins. All the files generated as a result of these operations are clickable directly on the output console, so you can open them right away.
And of course RadRails can help you when testing too. You can launch your tests on demand or you can have them automatically launched every time you save a file or periodically.
As you can see in this overview, Aptana RadRails provide a lot of tools available for making the life of a Rails developer much easier.
RB: There are a few development environments available now for Rails such as NetBeans and Ruby in Steel, how is RadRails better than these environments in your opinion?
JR: First of all, I'm not trying to say Aptana RadRails is the quintessence of Ruby on Rails IDEs. It's the tool of my choice but, sorry if I'm disappointing you here, I don't really think there is an IDE which is better than all the others. As you said, there is a growing number of excellent IDEs, such as NetBeans, Ruby in Steel, or Aptana RadRails, but also Komodo, JetBrains, 3rd Rail, RoRed, or TextMate which is not really an IDE, but it's close enough. To me competition is a good thing, since it can only lead to better IDEs and, in the same way that there are different kinds of developers, there are also different kind of IDEs.
For example, if you are really concerned about memory consumption, RadRails would probably not be your best option, since it's a bit demanding on that side; but if what you really like is the possibility of managing all your development needs from a single tool, then RadRails can be a no-brainer.
There are some reasons why I prefer RadRails over other IDEs. RadRails is a free Open Source and multi-platform project. I don't think your readers need any explanation about what Open Source and free mean, but the multi-platform part can be worth noting, since some of the IDEs I just mentioned are available only for a platform (TextMate for OSX and RoRed for Windows, for example) but you can run RadRails on Linux, OSX, Windows and basically on any OS with a Java Virtual Machine.
I think it's interesting to remember that RadRails is built on top of the Eclipse Platform. As you surely know, Eclipse is one of the most popular multi-language general-purpose development environments, and if you already know how to use Eclipse, using RadRails is very easy since it follows all the conventions of the IDE. Besides, the really great thing about Eclipse is the possibility of installing additional plug-ins. With thousands of available plug-ins you can virtually cover every of your development needs.
Let me tell you something; when I started developing projects with Ruby on Rails, well over two years ago, RadRails was not by far as complete as it is today. A primitive version of the Ruby Editor was already there, and you could browse the documentation and start/stop your servers... but that was roughly everything RadRails could do by then. However, since it was running on top of Eclipse, I already had integration with Subversion, with my bug tracking system, with my database, I could track the logs with an additional plug-in, evaluate and test regular expressions or validate my HTML and CSS files.
What I'm trying to say here is that there are many tasks that are out of the scope of Ruby or Rails but there are still really useful for a web developer. Since the basis of RadRails is the Eclipse IDE, which is arguably one of the most complete and popular development environments, any user of RadRails automatically can benefit of all the general-purpose extensions available. And it's not only about the extensions, but about the core features of Eclipse itself. One of these life-saver features of is the "Local History". It keeps track of all the changes you make in the file system of your project, so you can compare any of your files against a previous version, and you can even recover files you accidentally removed.
RB: How do you see adoption taking place with organizations or individuals using RadRails?
JR: In the last year, and most specifically during the last month, I have seen more and more individuals using an IDE to develop Ruby on Rails projects. Apart from TextMate, NetBeans and RadRails are the most popular at the moment, at least according to the number of posts in mail lists, forums and blogs.
Many of the developers using an IDE come from programming in JAVA, and they were already using either NetBeans or Eclipse, so using NetBeans or RadRails is the obvious choice for them. Moreover, many of these developers are trying Ruby on Rails for side projects as they continue working in JAVA, and it makes a lot of sense to use a single tool for both environments.
With literally millions of downloads, Eclipse is arguably one of the most popular IDEs for JAVA at the moment, and counting with the support of companies like Borland, Intel, Motorola, IBM, Nokia, Oracle, Sybase or Zend it will most likely keep a privileged position in the mid-term.
The way I see it, with more and more JAVA developers discovering Ruby on Rails, and with Rails being introduced into the corporate world, Aptana RadRails will be naturally adopted in most of the places where Eclipse is currently used. You know organizations are very often reluctant to changes, so if they are able to use a new programming language but they can still use their everyday tools, the adoption process will be easier. Actually, most times I do a Ruby on Rails demo for companies with a majority of JAVA developers, they are pleasantly surprised to know they can use RadRails to develop directly without changing their current IDE.
RB: Where do you see development of RadRails heading and what is coming down the road?
JR: Eclipse recently launched version 3.4, but Aptana Studio and Aptana RadRails were designed for Eclipse 3.2 (even if they could work under 3.3). At the moment, Aptana Studio and RadRails are being updated to fully support Eclipse 3.4. You can already use RadRails in the latest Eclipse build, but the installation process is not fully automatic and there are still some small bugs.
Eclipse 3.4 is a more stable platform with some improvements in memory consumption and user interface, so the adoption of this version by Aptana will improve the whole user's experience.
Apart from these changes, the Ruby and RHTML editors are being improved to provide better code assistance and improved performance. The debugger and the Rails debug console are also being improved so you can evaluate expressions directly at any breakpoint and significant effort is being dedicated to make JRuby easier to use.
One of the great things about RadRails is that a lot of the new features that get incorporated to the IDE come from ideas given by users in Aptana's forums. Components like the Rails Shell View found their way into the IDE after users pointed out they would be nice to have. So, if you are missing an interesting feature and you let the RadRails development team know it, chances are it will be incorporated in the future.
RB: Javier, thank you so much for your time.
More information about this book, Aptana RadRails: An IDE for Rails Development by Javier Ramírez, can be found at the Packt Publishing web site. Aptana RadRails IDE information can be found on the Aptana website.
About the Author
Javier Ramírez has been developing Web Applications since before the term Web Application was coined. Born in Zaragoza, Spain, in 1974, he started programming as a hobby around the age of 11 assisted by his older sister.
Having developed projects mainly for banks and other big corporations in Spain, Italy and the US, he co-founded some years ago a small software development shop, which provided him with valuable experience about the difficulties and the joys of entrepreneurship. After two years, he left the company in pursuit of new professional challenges.
For the last two years, he has been proudly working for ASPgems, where he discovered Ruby on Rails, which soon became his framework of choice for developing Web Applications. He is one of the organizers of the Spanish Rails Conference, also participating as a Speaker in the two events held so far.
Javier holds a B.Sc. in Business Information Systems with First Class Honors and a degree in Ingeniería en Sistemas de Computación.
How about Merb Support in Future with RadRails
I read the whole article just hoping that there would be few questions related to Merb support in future. It was disappointing to see that Merb was not discussed at all.
It would be better if you can ask a single question about the Merb Support and get the article updated with that encouraging news.
Currently Netbeans Guys are working with Merb Team to get the Merb support in future versions. It would be fantastic to have Merb support in Rad Rails too.