21.6. Integrated Development Environments It could be argued that Borland with its Turbo Pascal (in the mid-1980s) was the father of the modern Integrated Development Environment (or IDE); certainly Borland popularized it. Wherever you consider its origin to be, it's clear that the concept is going to be around for a long time to come. An IDE typically centers on a powerful editor with intimate knowledge of the language syntax. Features such as syntax highlighting and auto-indent are standard. Usually a debugger is included, as is support for project management. Integrated testing and integrated source control are happily becoming more common. It's difficult to compare IDEs in a meaningful way. They are all alike, and yet they are all different. Choosing one that you like is as personal and subjective as choosing an automobile. I've tried to do a little research to help you decide between the existing solutions: One of the most important Ruby IDEs is FreeRIDE. It is tailored specifically for Ruby and is controlled entirely by developers within the Ruby community. Some key developers are Rich Kilmer, Curt Hibbs, and Laurent Juilliard; there are many others. Like any large open-source project, development is proceeding slowly. Refer to http://freeride.rubyforge.org for the latest information and downloads. One of the newest solutions is Komodo from ActiveState. It is powerful and full-featured, but be warned it is a commercial product. Find information on it at http://www.activestate.com/Products/Komodo/. If you're an Eclipse fan, you need to know about the Ruby Development Tool (RDT). This is a set of Ruby-aware features and plug-ins for the Eclipse platform. Refer to http://sourceforge.net/projects/rubyeclipse for more details. ArachnoRuby is another commercial product (written by Lothar Scholz). It is reasonably full-featured, but as of July 2006 may not be quite as robust as other solutions. Refer to http://www.ruby-ide.com/ruby/ruby_ide_and_ruby_editor.php for more details. Finally, there is RDE, the Ruby Development Environment. This works well, is reasonably powerful, and is free. However, it runs only on Windows platforms. Table 21.1 summarizes the features of these IDEs. Naturally this is only a starting place for your research. A true comparison of all these tools would take a hundred pages (and would be outdated by the time it was finished). Table 21.1. Five Ruby IDEs ComparedFeatures | FreeRIDE | RDE | RDT | ArachnoRuby | Komodo |
---|
Commercial? | no | no | no | yes | yes | Platforms | all | Win32 | all | Linux, Win32 | all | Syntax highlighting | yes | yes | yes | yes | yes | Auto-indent | yes | yes | yes | yes | yes | Code folding | yes | no | no | yes | yes | Multi-doc editing | yes | yes | yes | yes | yes | Multilanguage support (Perl etc.) | limited | yes | yes | yes | yes | Mappable key bindings | yes | no | no | yes | yes | Editor macros | yes | no | no | yes | yes | Code browsing | yes | yes | yes | yes | yes | Integrated source control | no | no | yes | no | yes | GUI builder | no | no | no | no | yes | Project management | yes | no | yes | yes | yes | Testing integration | yes | no | yes | no | no | Other comments | Pure Ruby | - | - | web tools incl. | Built on Mozilla |
Note that only three platforms are considered here: The Linux/UNIX family, the Win32 family, and Mac OS X. Where the table says "all," it means all of these. |