CSC/ECE 517 Fall 2009/wiki1a 6 aa
CSC/ECE 517 Fall 2009/wiki1a 6 aa
Introduction
This page tries to review Integrated Development Environments for Ruby such as Aptana,Rubymine and Netbeans. Also the IDEs are compared with respect to certain dimensions such as facilities, ease of use, system requirements, and support for the Ruby way of thinking.
Different IDEs for Ruby
Ruby being one of the fast growing languges for web development has currently has many Integrated Development Environments (IDEs) that support it.the following list gives different IDEs currently in market which support Ruby on Rails and Ruby.
- Aptana RadRails 1.0
- NetBeans IDE 6.7
- JetBrains Rubymine
- SapphireSteel Ruby in Steel Developer Edition 1.2 and Text Edition 1.1.5
- ActiveState Komodo IDE 4.3 and Edit 4.3
- embarcadero 3rdRail
- MacroMates TextMate
- E Text Editor
- Intype
Comparision of Aptana,Netbeans and Rubymine
Three prominent IDEs namely Aptana, Netbeans and Rubymine are compared in the following sections with respect to features offered with respect to both ruby and Ruby on Rails
System Requirements
The three IDEs mentioned support cross platform and their minimum hardware requirement is given below for different operating systems
Aptana studio
Windows : 512 MB RAM ,Pentium 4-level processor. Mac OS : 512 MB RAM,G5 or Intel-based machine. Linux : 512 MB RAM,Pentium 4-level processor.
Netbeans
Windows : 780 MHz Intel Pentium III, 512 MB. Solaris : 500 MHz UltraTM 60 workstation, 512 MB. Linux : 800 MHz Intel Pentium III,512 MB.
Rubymine
Windows : Intel Pentium III/800 MHz or higher, 256 MB , Ruby SDK version 1.8.x. Mac OS : 1.42 GHz G4, G5 or Intel-based Mac, 256 MB , Ruby SDK version 1.8.x. Linux : Intel Pentium III/800 MHz or higher, 256 MB , Sun JDK 1.6,GNOME or KDE desktop,Ruby SDK version 1.8.x.
Features for Ruby
General
Radrails | Netbeans | Rubymine | |
---|---|---|---|
Price | Free | Free | $99 |
License Type | Open Source | Open Source | Commercial |
Available Standalone or as Eclipse Plugin | Available | Not Available | Not Available |
Editing
Radrails | Netbeans | Rubymine | |
---|---|---|---|
Code completion | Available | Available | Available |
Syntax Highlighting | Available | Available | Available |
Code analysis (warnings/errors/hints) | Available | Available | Available |
spell checking support | Available | Available | Available |
Type Hierarchy View | Available | Not Available | Available |
Smart Indent | Available | Available | Available |
Refactoring
Refactoring is a disciplined technique for improving the structure of existing code without changing the observable behavior. Refactoring improves the design of software. Refactoring makes software easier to understand. Refactoring makes software easier to maintain. Refactoring helps you find bugs. Refactoring helps you program faster.
Radrails | Netbeans | Rubymine | |
---|---|---|---|
Renaming | Available | Available | Available |
Extract method | Available | Available | Available |
Extract partial | Not Available | Not Available | Available |
Inline class | Available | Not Available | Available |
Inline method | Available | Not Available | Available |
Safely Delete | Not Available | Available | Available |
Version Control Integration
Netbeans IDE directly supports CVS root types.For SVN the access is via custom protocol to an SVN server. For Git kenai.com supports subversion ,mercurial,and Git repositories.even we can specify our external source code
For Rubymine CVS is installed and turned on automatically. the Git integration is enabled. it supports SVN repositories too along with perforce( one of the subversions) integration
Radrails has the feature to install the three things as plugins.
Radrails | Netbeans | Rubymine | |
---|---|---|---|
SVN | Available | Available | Available |
Git | Available | Available | Available |
CVS | Available | Available | Available |
Debugging Features
All the Three IDE's supports ruby-debuggers.
Netbeans supports classic debugger which is slow and ruby debugger, which is fast and only works with native ruby interpreter.
Aptana also supports classic and ruby debugger. Classic is a pure ruby debugger based on debug.rb script. Classic 1.8.0 and 1.8.2 works on windows. Aptana offers ability to run a debugger using ruby debug gem as background.
Rubymine offers ruby debugging. Rubymine has convenient user interface. It allows smart and flexible breakpoint insertions. It also allows remote debugging features. It has Built in Expression Evaluator.
Features for Ruby on Rails
RadRails
* Unified, deep support for Ruby, Rails, RHTML, JS, HTML and CSS. * Syntax highlighting, auto completion, code assist, error reporting, outlining, etc. * Ruby code generation: constructors, overrides, templates, accessors * Refactoring: local to instance variables, extract methods, inlining, renaming… * Fast, integrated debugger * Support for Rails generators, Rake, plugins, and server management * View unit tests and test results * Integrated Rails Specific shell. * Embedded database navigator and query console * Snippets and wizards * Integrated help, including “Go to definition”, RDoc/RI, and code explorer
Rubymine
Rubymine is designed to support Ruby on Rails Development with the following features.
* Dedicated project type * Special Rails view to represent the logical structure of a Rails application. * Rails Generators * Means of Navigation between Rails Components. * Possibility to run Rake Tasks. * Possibility to define object relational mappings. * Analysis of the models and their relationships with model dependency diagram. * Complete editing assistance (syntax and error highlighting, code completion for rails application elements and Rake tasks) * Rails aware refactorings ( ename Refactoring, extract partial,etc) * Rails consolse( Rails command can be executed without leaving IDE)
NetBeans
* Easy access to Rails Scripts * Easy access to code generators (Control Generator, Model Generator) * Provides support to many common Rake tasks (Rake tasks are integrated to pop up menus) * Provides plugin manager which makes it easy to add plugins and updates * Supports IRB console (Interactive Ruby shell and Ruby console support). * Complete editing assistance.
Other Features available in IDE's
In addition to Ruby support the IDE's offer support to other scripting languages also
Radrails | Netbeans | Rubymine | |
---|---|---|---|
HTML | Available | Available | Available |
CSS | Available | Available | Available |
JavaScript | Available | Available | Available |
JavaScript | Available | Available | Available |
XML | Available | Available | Available |
SQL | Available | Available | Available |
References
1.RubyMine Documentation 2.Different IDE comparisions 3.Netbeans Wiki 4.Netbeans.org 5.Aptana.com 6.Radrails wiki 7.Reviews on different IDE's
Information from different IDE's help section is also considered for creating this wiki document.