Lab test: Climb aboard Ruby on Rails
The InfoWorld Test Center sifts through nine Rails IDEs and editors to help you choose the tools to suit your development needs
3rdRail offers numerous helpers in the edit window. For example, right-clicking in an edit window brings up a context menu with more than a dozen items, many of which bring up submenus.
Because 3rdRail is more expensive than any other tool reviewed in this suite, and because some of the free tools are more than adequate for Rails development, I would suggest 3rdRail only for developers who spend most of their time building Rails and could justify the increased cost in terms of productivity gains.
To view a video of CodeGear in action, go here. For more on the product's features, go here.
[Jump to the review of the Ruby on Rails IDE of your choice from the list below:
SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5
Aptana RadRails 1.0
ActiveState Komodo IDE 4.3 and Edit 4.3
CodeGear 3rdRail 1.1
NetBeans IDE 6.1
MacroMates TextMate 1.5.7
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0
E Text Editor 1.0.20 Beta
Intype 0.3.1 Alpha]
NetBeans IDE 6.1
NetBeans has long been a strong Java development environment. It gained Ruby and Rails support in the last year. With Version 6.1, NetBeans is a seriously good Rails IDE.
NetBeans grew up as a Java IDE and is a Sun product, so it's no surprise that it has excellent support for JRuby. It also supports standard Ruby, however, and has a Ruby Platform Manager to let you choose the Ruby interpreter used for a project.
The NetBeans Ruby source code editor demonstrates all sorts of intelligence about code formatting and syntax. In addition, a right-click in the code editor brings up a context menu that lets you navigate from action to view to test to declaration, rename, refactor, reformat, run, test, set a breakpoint, debug, or find usages. Each common action has a keystroke equivalent displayed on the menu; use the menu enough and you'll learn them naturally. This is similar to the way TextMate bundles behave, although not as programmable.
Right-clicking in the project view brings up a context menu that lets you generate a new resource, create a new file, run or debug rake tasks, add plug-ins, or run tests. Any time you cause a command to run, it opens a new tab in the window at the bottom of the workspace for the output. If there is error output, references to lines of code are hyperlinked to make it easy to jump to the correct code, very much like 3rdRail.
The code editor supports a number of shortcuts, snippets, and code templates, including a subset of the TextMate snippets. The number of predefined Ruby and RHTML templates in NetBeans pales beside the number of Java templates, but you can define your own templates.
NetBeans uses the ruby-debug-ide gem for fast debugging. It came configured for the fast debugger in JRuby but not standard Ruby; I had a little trouble convincing it to switch to fast debugging for standard Ruby, but it did eventually catch on after a couple of restarts and an update.
NetBeans may well be the overall pick of this review group, at least based on the numbers. Whether it should be your own pick, however, depends on your personal preferences. For example, Eclipse fans may prefer RadRails or 3rdRail, and fans of "bundles" may prefer TextMate or E.
More information about NetBeans, including five videos, can be found here.
[Jump to the review of the Ruby on Rails IDE of your choice from the list below:
SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5
Aptana RadRails 1.0
ActiveState Komodo IDE 4.3 and Edit 4.3
CodeGear 3rdRail 1.1
NetBeans IDE 6.1
MacroMates TextMate 1.5.7
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0
E Text Editor 1.0.20 Beta
Intype 0.3.1 Alpha]
MacroMates TextMate 1.5.7
As I mentioned in the introduction to this review suite, the entire Ruby on Rails core development team uses TextMate on Mac OS X. As I do most of my development on Windows, I had to borrow a Mac (in fact, a MacBook Pro) from InfoWorld to review TextMate firsthand. (Yes, Doug, I'll be shipping it back Real Soon Now.)
TextMate looks entirely different from IDEs such as RadRails or NetBeans. Much of the functionality you expect is there, but it's not obvious until you pull down the Ruby or Rails bundle menu, press a shortcut key combination, or type in the abbreviation for a snippet and press Tab. For examples, see the online extract of the TextMate book or either this or this screencast. Once you discover all that functionality and get a handle on the UI, using TextMate is like having a helpful sprite looking at what you begin to type and then completing your intentions.
It took me a while to warm up to TextMate, but once I did, I understood why its users become so attached to it. I missed the IDE features of RadRails when I was using TextMate, but as I started to learn the Rails bundle shortcuts and my memory of the various Rails command-line utilities returned, I could see how productive TextMate could become for a full-time user. When I switched back to another editor and my fingers tried to use a TextMate shortcut, I was disappointed to have to go back and type out the whole syntax; it was like losing the speed dial buttons on my phone.
If the idea of TextMate's bundles and shortcuts appeals to you but you need to or prefer to develop on Windows, consider either E or Intype, both of which are reviewed briefly later in this suite.
If you do use TextMate most of the time, you may occasionally find yourself in need of a graphical debugger or automatic refactoring. Either RadRails or NetBeans will serve that purpose, for free.
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0
IntelliJ IDEA is widely regarded as an excellent Java IDE and has managed to survive as a commercial product by dint of superior features in the face of strong competition from the free NetBeans and Eclipse products. Although the current Ruby plug-in for IntelliJ IDEA goes a long way toward making it a good Rails IDE, it isn't all there.
Ruby and RHTML code coloring, formatting, refactoring, dependency analysis, and completion work well. Code inspections and debugging aren't yet implemented for Ruby; according to the company, a Ruby and Rails debugger is planned for the IntelliJ IDEA 8 release.
When command shell output is shown in a Run window, it is often -- but not always -- hyperlinked to bring up the appropriate line of code in an edit window. Unfortunately, the one line of traceback that is not hyperlinked is usually the one I need to follow.
At this point, if you develop Rails with IntelliJ IDEA and want to use a graphical debugger on occasion, you'd be well advised to use NetBeans or RadRails as a free secondary IDE. I can't recommend that anyone buy IntelliJ IDEA just for the Rails support, but I can suggest it to developers who develop Rails as well as Java sites.
[Jump to the review of the Ruby on Rails IDE of your choice from the list below:
SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5
Aptana RadRails 1.0
ActiveState Komodo IDE 4.3 and Edit 4.3
CodeGear 3rdRail 1.1
NetBeans IDE 6.1
MacroMates TextMate 1.5.7
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0
E Text Editor 1.0.20 Beta
Intype 0.3.1 Alpha]
E Text Editor 1.0.20 Beta
The E Text Editor is basically a TextMate clone for Windows. It shares many of TextMate's strengths and weaknesses. Because several TextMate bundles rely on Unix capabilities, E asks that you install Cygwin to enable those bundles. E has a few Windows-specific bundles of its own, for example to support C# and ASP.Net, and ships without the obvious Mac-specific bundles, such as ActionScript and Objective-C.
E takes advantage of the community that has grown up around TextMate. Most of what's in the TextMate book applies equally well to E, and many TextMate bundles downloaded from the Macromates Subversion repository will run as is in E. Some won't, of course; Windows currently doesn't have an AppleTalk clone, at least that I know of.
E has a project view that's surprisingly useful. As you can see here, the E project view on my computer also shows the TortoiseSVN icon for each file. E also has its own local versioning mechanism.
I experienced occasional crashes when using E, but I couldn't reproduce them well enough for a bug report. The author appears to be responsive; I saw two updates to the product during my tests.
If you adopt E as your primary Rails development environment, consider using RadRails or NetBeans as a free secondary IDE for your debugging and refactoring needs.
Intype 0.3.1 Alpha
Intype is a fast, efficient code editor for Windows that was inspired by TextMate. It's actually good enough to use as a free Alpha test version, but it lacks many of the features implemented in E. For starters, it has no project view; it's missing about half of the Rails bundle; and it has no bundle editor. Unlike E, it has no way to implement bundle features that require Unix functionality.
Given its omissions, I'd only recommend the current version of Intype to developers who want a TextMate-like editor for Windows but can't afford to or don't want to pay the $34.95 price of E.
Intype development appears to have stalled, based on the stale content on the Intype Web site. If the developers ever get their act together to release a product, they intend to charge roughly the same price as E.
More polish required
In conclusion, Rails itself is in a state of flux, and the Rails IDEs are mostly still trying to catch up to the changes introduced on Rails 2.0, much less Rails 2.1. Most of the Rails IDEs discussed in this review package will work well with the current Rails and rake gems with only minor annoyances: The most common annoyance is confusion between RHTML files and HTML.ERB files when generating and navigating to views.
Of course, the next time the Rails core changes, the IDE vendors will have to scramble to keep up, once again.
[Jump to the review of the Ruby on Rails IDE of your choice from the list below:
SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5
Aptana RadRails 1.0
ActiveState Komodo IDE 4.3 and Edit 4.3
CodeGear 3rdRail 1.1
NetBeans IDE 6.1
MacroMates TextMate 1.5.7
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0
E Text Editor 1.0.20 Beta
Intype 0.3.1 Alpha]
InfoWorld Scorecard | Performance (10.0%) |
Ease of use (20.0%) |
Features (40.0%) |
Value (10.0%) |
Integration (20.0%) |
Overall Score (100%) |
---|---|---|---|---|---|---|
SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5 | 9.0 | 8.0 | 9.0 | 8.0 | 7.0 | |
Aptana RadRails 1.0 | 8.0 | 9.0 | 8.0 | 10.0 | 9.0 | |
ActiveState Komodo IDE 4.3 and Edit 4.3 | 9.0 | 9.0 | 7.0 | 8.0 | 8.0 | |
CodeGear 3rdRail 1.1 | 9.0 | 9.0 | 8.0 | 7.0 | 9.0 | |
NetBeans IDE 6.1 | 8.0 | 9.0 | 9.0 | 10.0 | 9.0 | |
MacroMates TextMate 1.5.7 | 9.0 | 8.0 | 8.0 | 9.0 | 7.0 | |
JetBrains IntelliJ IDEA 7.0.3 with Ruby plug-in 1.0 | 9.0 | 8.0 | 8.0 | 8.0 | 8.0 | |
E Text Editor 1.0.20 | ||||||
Intype 0.3.1 |
Copyright © 2008 IDG Communications, Inc.