CSC/ECE 517 Fall 2009/wiki1a 6 aa: Difference between revisions
(7 intermediate revisions by 2 users not shown) | |||
Line 156: | 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''' | ||
Line 195: | 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. | ||
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 [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 236: | 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. | ||
Line 280: | Line 291: | ||
| Not 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= |
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.
- 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 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 |
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.
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.