CSC/ECE 517 Fall 2009/wiki1a 6 aa

From Expertiza_Wiki
Revision as of 03:08, 5 September 2009 by Bcnibhan (talk | contribs) (→‎References)
Jump to navigation Jump to search

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.


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.

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