CSC/ECE 517 Fall 2009/wiki1a 6 aa: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(52 intermediate revisions by 2 users not shown)
Line 1: Line 1:
CSC/ECE 517 Fall 2009/wiki1a 6 aa
CSC/ECE 517 Fall 2009/wiki1a 6 aa
----
----
=Introduction=
=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.  
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=  
=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.
Ruby being one of the fast growing languages 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.
    
    


Line 22: Line 20:
=Comparision of Aptana,Netbeans and Rubymine=
=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
Three IDEs namely Aptana's Radrails, Netbeans and Rubymine are compared in the following sections.
==System Requirements==
==System Requirements==


The three IDEs mentioned support cross platform and their minimum hardware requirement is given below for different operating systems
The three IDEs mentioned support cross platform and their minimum hardware requirement is given below for different operating systems


'''Aptana studio'''
'''Aptana Radrails'''
        
        
         Windows : 512 MB RAM ,Pentium 4-level processor.  
         Windows : 512 MB RAM ,Pentium 4-level processor.  
         Mac OS  : 512 MB RAM,G5 or Intel-based machine.  
         Mac OS  : 512 MB RAM,G5 or Intel-based machine.  
         Linux  : 512 MB RAM,Pentium 4-level processor.  
         Linux  : 512 MB RAM,Pentium 4-level processor.  


'''Netbeans'''
'''Netbeans'''        
       
          
          
         Windows   : 780 MHz Intel Pentium III, 512 MB.  
         Windows : 780 MHz Intel Pentium III, 512 MB.  
         Solaris   : 500 MHz UltraTM 60 workstation, 512 MB.  
         Solaris : 500 MHz UltraTM 60 workstation, 512 MB.  
         Linux     : 800 MHz Intel Pentium III,512 MB.  
         Linux   : 800 MHz Intel Pentium III,512 MB.  
 
 
'''Rubymine'''
'''Rubymine'''
        
        
         Windows   : Intel Pentium III/800 MHz or higher, 256 MB , Ruby SDK version 1.8.x.
         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.
         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.
         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==
==Features for Ruby==
Line 61: Line 53:
! Rubymine
! Rubymine
|-
|-
|   Price
| Price
|  Free
|  Free
|  Free
|  Free
Line 116: Line 108:
|  Available
|  Available
|}
|}
[http://tnlessone.files.wordpress.com/2007/02/eclipse_rails_environment_snapshot.png snapshot for Aptana Radrails editing features]
[http://tnlessone.files.wordpress.com/2007/02/netbeans_rails_environment_snapshot.png snapshot for Netbeans editing features]
[http://www.jetbrains.com/ruby/index.html snapshot for Rubymine features]


'''Refactoring'''
'''Refactoring'''
Line 158: Line 156:
|  Available
|  Available
|}
|}
[http://wiki.netbeans.org/RubyRefactoring  Netbeans refactoring  features]
[http://blogs.jetbrains.com/ruby/tag/refactoring/  Rubymine refactoring  features]


'''Version Control Integration'''
'''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   
Netbeans IDE directly supports CVS root types.In Netbeans SVN access is via custom protocol to an SVN server. Netbeans supports Git [http://www.kenai.com kenai.com]  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
Rubymine has CVS installed and turned on automatically. 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 has the feature to install the three things as plugins.
Line 175: Line 178:
! Rubymine
! Rubymine
|-
|-
|  SVN
[http://en.wikipedia.org/wiki/Subversion_(software) SVN]
|  Available
|  Available
|  Available
|  Available
|  Available
|  Available
|-
|-
| Git
| [http://en.wikipedia.org/wiki/Git_(software) Git]
|  Available
|  Available
|  Available
|  Available
|  Available
|  Available
|-
|-
| CVS
| [http://en.wikipedia.org/wiki/Concurrent_Versions_System CVS]
|  Available
|  Available
|  Available
|  Available
Line 197: Line 200:
Netbeans supports classic debugger which is slow and ruby debugger, which is fast and only works with native ruby interpreter.
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.
Radrails 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. It also 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.
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 [http://www.jetbrains.com/ruby/features/ruby_debugger.html#Built-in_Expression_Evaluator Expression Evaluator].
 
[http://www.jetbrains.com/ruby/features/ruby_debugger.html Debugging using Rubymine]
 
[http://www.netbeans.org/kb/60/ruby/debugger-screencast.html Debugging using netbeans]
 
[http://vimeo.com/channels/radrails#6450292 Debugging using radrails]


==Features for Ruby on Rails==
==Features for Ruby on Rails==
Line 205: Line 214:
'''RadRails'''
'''RadRails'''


    Unified, deep support for Ruby, Rails, RHTML, JS, HTML and CSS.
    * Unified, deep support for Ruby, Rails, RHTML, JS, HTML and CSS.
    Syntax highlighting, auto completion, code assist, error reporting, outlining, etc.
    * Syntax highlighting, auto completion, code assist, error reporting, outlining, etc.
    Ruby code generation: constructors, overrides, templates, accessors
    * Ruby code generation: constructors, overrides, templates, accessors
    Refactoring: local to instance variables, extract methods, inlining, renaming…
    * Refactoring: local to instance variables, extract methods, inlining, renaming…
    Fast, integrated debugger
    * Fast, integrated debugger
    Support for Rails generators, Rake, plugins, and server management
    * Support for Rails generators, [http://www.tutorialspoint.com/ruby-on-rails/rails-and-rake.htm Rake], plugins, and server management
    View unit tests and test results
    * View unit tests and test results
    Integrated Rails Specific shell.
    * Integrated Rails Specific shell.
    Embedded database navigator and query console
    * Embedded database navigator and query console
    Snippets and wizards
    * Snippets and wizards
    Integrated help, including “Go to definition”, RDoc/RI, and code explorer
    * Integrated help, including “Go to definition”, RDoc/RI, and code explorer


'''Rubymine'''
'''Rubymine'''


  Rubymine is designed to support Ruby on Rails Development with the following features.
  Rubymine is designed to support Ruby on Rails Development with the following features.
     * Dedicated project type
     * Dedicated project type
     * Special Rails view to represent the logical structure of a Rails application.
     * Special Rails view to represent the logical structure of a Rails application.
Line 229: Line 239:
     * Complete editing assistance (syntax and error highlighting, code completion for rails application elements and Rake tasks)
     * 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 aware refactorings ( ename Refactoring, extract partial,etc)
     * Rails consolse( Rails command can be executed without leaving IDE)
     * Rails console( Rails command can be executed without leaving IDE)


'''NetBeans'''
'''NetBeans'''
Line 237: Line 247:
   * Provides support to many common Rake tasks (Rake tasks are integrated to pop up menus)
   * 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
   * Provides plugin manager which makes it easy to add plugins and updates
   * Supports IRB console (Interactive Ruby shell and Ruby console support).
   * Supports [http://en.wikipedia.org/wiki/Interactive_Ruby_Shell IRB] console (Interactive Ruby shell and Ruby console support).
   * Complete editing assistance.
   * Complete editing assistance.
=Other Features available in IDE's=
In addition to Ruby support the IDE's offer support to other scripting languages also. The Features available are listed below in each of the three IDE's under consideration
{| class="wikitable" border="1"
|-
!
! 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
|  Not Available
|}
=Conclusion=
The Three IDE's have been compared for different features. It is very difficult to conclude which IDE is best suited for Ruby. All the three IDE's provide many features in Ruby.
Radrails is available as a plugin for eclipse. Users comfortable working with Eclipse can use this plugin and use Ruby on Eclipse.
Netbeans provide support for other languages like Java, C++, etc along with Ruby. It is best suited if users like to use other languages along with Ruby.
RubyMine is designed only for Ruby. RubyMine provides many Refactoring Tools which are not available in Radrails and Netbeans


=References=
=References=
1.[http://www.jetbrains.com/ruby/docs RubyMine Documentation]
2.[http://tnlessone.wordpress.com/2007/02/28/ruby-rails-ide-comparison-idea-netbeans-radrails/ Different IDE comparisions ]
3.[http://wiki.netbeans.org/RubyOnRails Netbeans Wiki]
4.[http://www.netbeans.org/ruby Netbeans.org]
5.[http://www.aptana.com/rails Aptana.com]
6.[http://en.wikipedia.org/wiki/RadRails Radrails wiki]
7.[http://www.infoworld.com/d/developer-world/lab-test-climb-aboard-ruby-rails-851?page=0,0 Reviews on different IDE's ]
Information from different IDE's help section is also considered for creating this wiki document.

Latest revision as of 16:38, 16 September 2009

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 languages 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 IDEs namely Aptana's Radrails, Netbeans and Rubymine are compared in the following sections.

System Requirements

The three IDEs mentioned support cross platform and their minimum hardware requirement is given below for different operating systems

Aptana Radrails

       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

snapshot for Aptana Radrails editing features

snapshot for Netbeans editing features

snapshot for Rubymine features

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

Netbeans refactoring features

Rubymine refactoring features


Version Control Integration

Netbeans IDE directly supports CVS root types.In Netbeans SVN access is via custom protocol to an SVN server. Netbeans supports Git kenai.com subversion ,mercurial,and Git repositories.Even we can specify our external source code.

Rubymine has CVS installed and turned on automatically. 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.

Radrails 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. It also 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.

Debugging using Rubymine

Debugging using netbeans

Debugging using radrails

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 console( 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. The Features available are listed below in each of the three IDE's under consideration

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 Not Available

Conclusion

The Three IDE's have been compared for different features. It is very difficult to conclude which IDE is best suited for Ruby. All the three IDE's provide many features in Ruby. Radrails is available as a plugin for eclipse. Users comfortable working with Eclipse can use this plugin and use Ruby on Eclipse. Netbeans provide support for other languages like Java, C++, etc along with Ruby. It is best suited if users like to use other languages along with Ruby. RubyMine is designed only for Ruby. RubyMine provides many Refactoring Tools which are not available in Radrails and Netbeans

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.