CSC/ECE 517 Fall 2012/ch1 1w29 sa: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 63: Line 63:




==== RubyMine ====
==== RubyMine[[File:Example.jpg]] ====
----
----



Revision as of 23:35, 14 September 2012

IDEs for Ruby

Overview


List of Popular IDEs for Ruby


RadRails

RadRails Logo
The Code Assist Feature

History

RadRails was started as an open source project by Kyle Shank, Marc Baumbach, and Matt Kent in September 2005 during their time as developers at IBM at Raleigh, NC. Along with Andy Gianfagna and Ryan Lowe, the project continued through 2006. Based on their idea for a startup, Kyle and Matt working on Persai with RadRails pushed as a side project. In the best interests of the RadRails community, Kyle handed over the project to Aptana who later on March 9, 2007 took over it and renamed it to Aptana RadRails.

Overview

RadRails[1] is a complete open source, web development tool supported by Aptana[2]. RadRails is essentially a Rapid Application Development IDE for the Ruby on Rails[3] framework. It comes bundled with an Integrated Debugger (for a more visual and intuitive debugging experience) and a Built-in Terminal (to run utilities like gem, rake etc.). The IDE can be customized to include custom scripts and commands. Some of the other salient features of RadRails include:

  • HTML, CSS, and JavaScript Unification
Apart from Ruby and Rails, it supports development with HTML, CSS, Javascript, PHP and Python. It also provides support for latest versions of popular browsers along with HTML5 and CSS3.
  • Deployment Wizard
Provides support for multiple protocols like FTP, SFTP, FTPS and Capistrano. Enables support for continuous and multiple synchronized setups and integration and deployment to hosting services like Heroku[4].
  • Git Integration
Supports most Github based functions like git source code control, collaborating with team mates to use merge, pull and push to repositories set up at Github or other servers. Git-based deployments are also supported.
Architecture

The RadRails IDE is built on the Eclipse RCP, and includes the RDT and Subclipse plug-in. The RadRails tools are also available as Eclipse +plug-ins. The IDE is built to support cross platform compatibility and comes with a GNU GPL license. The latest stable release is version 3.2.2.[5] At EclipseCon 2006 RadRails won the Community Award for Best Open-Source Eclipse-based tool.[6]

Netbeans


Netbeans Logo
Netbeans IDE for Ruby
History

NetBeans started as a student project (originally called Xelfi) in Czechoslovakia, now the Czech Republic, in 1996. The goal was to write a Delphi-like Java IDE (Integrated Development Environment) in Java. Xelfi was the first Java IDE written in Java, with its first pre-releases in 1997. Xelfi was a fun project to work on, especially since the Java IDE space was uncharted territory at that time.[7]

Overview

A free, open-source Integrated Development Environment for software developers. All the tools needed to create professional desktop, enterprise, web, and mobile applications with the Java platform, as well as with C/C++, PHP, JavaScript and Groovy.[8] Some of the smart features[9] in Netbeans IDE for Ruby are:

  • Refactoring and Debugging
  • Code Coverage Support
  • Rake Runner
  • Live Code Templates
  • Ruby Gems Manager
Architecture

Ruby architecture for NetBeans consists of the following three layers:

Backends

NetBeans utilizes debug-commons project from RubyForge. This project is common effort of RDT developers (mainly Markus Barchfeld) and Netbeans. All backend works are being done there.

Intermediate library

It is an IDE-independent Java library intermediating communication between various Ruby debugging backends and a frontend. It is based on the one that was in RDT[10] but with slightly remade threading part and others part refactored. Also this library will be kept and developed as part of debug-commons since it is supposed to be developed by all interested parties in the future. It uses kxml2 XML Pull Parser implementation which needs to be bundled within a frontend.

NetBeans frontend

Standard NetBeans module utilizing libraries/layers above.

Textmate


History
Overview
Architecture

RubyMine


RubyMine is a new IDE for Ruby and Rails developers, which is built on JetBrains' IntelliJ IDEA platform. First version of RubyMine was released on April 28th, 2009.Its most recent version is RubyMine 4.5[11]

Overview[12]
  1. RubyMine has a ruby editor with highlighting feature and coloring scheme. It has a smart auto code completion and code navigation feature.
  2. RubyMine supports Ruby on rails with intelligent code maintenance.
  3. Testing features of RuyMine:
    1. Unit Testing
    2. Functional testing with Cucumber
    3. Support for Shoulda Framework
  4. It has a graphical debugger. Debugging features include:
    1. Convinient user interface
    2. Smart andflexible breakpoints
    3. Call stack.
    4. Remote debugging is also possible.
  5. VCS specific operations include subversion, git, cvs, perforce, github .
Pros
  1. RubyMine is a completely Ruby on Rails focused tool.
  2. It provides built in support for all common gems required for rails development.
  3. It also provides very good support for other frameworks.
  4. Autocomplete feature makes the tool intelligent.
  5. Debugger in RubyMine is easy to set up.
Cons
  1. RubyMine is not a lightweight tool.
  2. Lots of bundles are required to create a project. If developer doesn't have all of them, project won't work.
  3. Refactoring in RubyMine is more confusing than other tools like Ecllipse, NetBeans.

jRuby


History

JRuby was created in 2001 by Jan Petersen. It was created to support Ruby development. It started supporting Ruby on Rails from version 0.9 which was released in May 2006. Latest version of Jruby is 1.6.0 which includes Ruby 1.9.2 compatibility and experimental support for C APIs of ruby 1.9.2[13]

Features[14]

JRuby is essentially a Ruby interpreter which is written in Java. Important features of Jruby include:

  1. It is an open source software.
  2. It is platform independent.
  3. It can be called directly from Java programs.
  4. It supports swing class in Java
  5. It is compatible with all the versions of Ruby.
  6. It has built in support for Ruby on Rails, Rspec, Rake andmost of the Rubygems.
Architecture[15]

JRuby's virtual machine has 3 features. It can interpret the code directly, compile it just after typing it to produce Java Bytecode which is called Just In Time(JIT) or it can compile it ahead of time to produce Java bytecode i.e. Ahead Of Time(AOT). Second and third modes are available from version 1.1. JRuby virtual machine runs in all the 3 modes. Interpretation and compilation can be done at the same time. Decompilation of the code is also possible to optimize it.

RDT (Ruby Plugin for Eclipse)


History
Overview
Architecture

Comparison Table of Popular IDEs for Ruby


See Also


References


Additional References