DOKK Library

Ruby on Rails IDEs and Text Editors: A Survey

Authors Krishan Kumar Sonal Dahiya Ved Prakash

License CC-BY

Plaintext
                                   International Journal of Science and Research (IJSR)
                                                    ISSN (Online): 2319-7064
                                 Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391


      Ruby on Rails IDEs and Text Editors: A Survey
                                          Krishan Kumar1, Sonal Dahiya2, Ved Prakash2
                      1, 2, 3
                                Assistant professor, Dept. of CSE, Amity University Haryana, Gurgaon, Haryana, India


Abstract: The world of Programming Languages is very dynamic. Every company is launching their own programming language
which can cater their specific demand and requirement. For every programming language new Integrated Development Environments
(IDEs) or plug-ins are developed for existing IDEs. In this paper, we discussed various IDEs and Text Editors which work for Ruby on
Rails for different platforms. In computer world new programming languages are coming and old one are getting outdated so is their
IDEs and Text Editors. But programmers are used to old one and some are excited with features of new ones.

Keywords: TextMate, Aptana, Ruby on Rails, Integrated Development Environments

1. Introduction                                                          TextMate is first choice for Rails core developer on Mac
                                                                         because of essential marco extensions for TextMate as tool
Ruby on Rails is framework for developing database-backed                for Ruby and Rails programming. Keyboard shortcuts and
web-application       based      on    Model-View-Controller             automation facilities of TextMate increase efficiency of
architecture. From Ajax in View to the request-response in               programmers which found in TextMate inspired E Text
Controller to domain model wrapping database, Rails                      Editor and InText for windows as well. It includes Ruby and
provides a pure-Ruby development environment. A database                 Rails Bundle. Integrated GUI development environment of
and Web server is required for website. Rails can be                     RadRails for Rails runs whenever Eclipse and Java run.
developed on various Operating Systems (OS) like: Linux,                 Beside this, free availability for Aptana RadRails Community
OS X, Windows and Solaris. Ruby Virtual Machines (VM)                    Edition lures programmers. RadRails integration approach to
are plain old Ruby, JRuby, Rubinius and IronRuby. OS and                 Rails development is followed by 3rdRail, Komodo,
VM will constrain choice of editor as different VM and text              NetBeans, IntelliJ IDEA, and Ruby in Steel but all are
editors are suitable for different OS.                                   similar. TextMate with Rails bundles can be mixed and
                                                                         matched with NetBeans or RadRails IDEs which have
Rails application is test-driven development which starts with           debuggers. [1]
code generation. Generally, Incremental Model is followed,
once application skeleton is created. Application is built up            Whether you are a programmer or a designer, the production
incrementally by adding and coding models and actions,                   of code and markup is hard work. Without an editor
adding and coding tests, running and debugging the tests,                dedicated to the task, it is also often cumbersome,
refactoring, adding Embedded Ruby pages to generate                      overwhelming, and repetitive. Especially when you are
HTML views, testing the HTML display in a browser, and                   dealing with a lot of files at once — like most projects do.
viewing the server log. If AJAX is required, many actions                TextMate puts you back in control, reduces the mental
and effects can be generated entirely from Ruby, but more                overhead, and turns manual work into something the
complicated or uncommon effects usually require some                     computer does. Created by a closet UNIX geek who was
coding and debugging in JavaScript. Programmer shuffles                  lured to the Mac platform by its ease of use and elegance,
among test, model, controller, helper, view code, and                    TextMate has been referred to as the culmination of Emacs
popping among editor, browser, and shell windows. So an                  and OS X and has resulted in countless requests for both a
Integrated Development Environment (IDE) and Text Editors                Windows and Linux port, but TextMate remains exclusive
increase efficiency of programmer by cutting down time                   for the Mac.
spend on popping around.
                                                                         TextMate is not an IDE but by using its powerful snippets,
In this paper we discussed many IDEs and Text Editors with               macros, and unique scoping system, it can often provide
their advantages and disadvantages.                                      features that even a language specific IDE lacks. It has
                                                                         enough project management features to keep most users
2. TextMate 2.0                                                          happy, but is otherwise kept lightweight with a clean and
                                                                         minimalistic GUI. Figure1,2,3 shows Bundle Editor,
                                                                         OakFindManager, Font & color respectively.




                                                    Volume 6 Issue 5, May 2017
                                                          www.ijsr.net
                                          Licensed Under Creative Commons Attribution CC BY
      Paper ID: ART20173823                                                                                            2310
                            International Journal of Science and Research (IJSR)
                                              ISSN (Online): 2319-7064
                           Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391




3. Sapphiresteel Ruby          in     Steel     Developer       wide comments can also be entered directly into the „User
   Edition 1.5                                                  Tasks‟ pane of the Task List. It provides the most powerful
                                                                integrated suite of tools available to Ruby On Rails
SapphireSteel Software released version 1.5 of Ruby In Steel    developers including the unique drag-and-drop design
Developer, its professional Ruby and „Ruby On Rails‟ IDE        environment, „The Visual Rails Workbench‟, comprehensive
for Visual Studio. Ruby In Steel Developer 1.5 now includes     analytical IntelliSense and the ultra-fast „Cylon‟ drill-down
built-in ToDo and User Task management. Users are able to       debugger. [2]
enter „ToDo‟ comments directly into the source code and
navigate to them using the Visual Studio Task List. Project-




Amethyst is a fully-featured Visual Studio IDE for the Adobe    create a whole Rails application from a single interface,
Flash Platform. Amethyst supports the drag-and-drop design,     allowing you to focus on the creative part of the development
editing and debugging of Flex and AIR applications and it       as your IDE takes care of the mechanics. Code Assist helps
can also load Flash IDE projects for editing and debugging.     to Quick access to Ruby, HTML, CSS and JavaScript
Sapphire (‟Ruby In Steel 3‟) is a Visual Studio IDE for the     structures, methods, elements, properties, tags &
Ruby programming language. It provides editing and              attributes.[3]
debugging of projects for standard Ruby and also provides a
designer for creating user interfaces.                          Integrated Debugger helps in Set breakpoints, inspect
                                                                variables, and control execution. The integrated Ruby &
4. Aptana Radrails 2.0.5                                        Rails debugger helps you squash those bugs. Outlining helps
                                                                in View and navigate the structures in your file using this
Aptana RadRails is an Integrated Development Environment        hierarchical outline of your Ruby or HTML page. Select
for Ruby on Rails projects. Built on top of the well-known      nodes to jump to that location in the editor. Filter nodes to
Eclipse platform, RadRails provides all the tools you need to   see collections that match patterns.


                                              Volume 6 Issue 5, May 2017
                                                    www.ijsr.net
                                    Licensed Under Creative Commons Attribution CC BY
     Paper ID: ART20173823                                                                                     2311
                            International Journal of Science and Research (IJSR)
                                             ISSN (Online): 2319-7064
                          Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391




5. Activestate Komodo IDE 9.2 and Edit 10.0                      XSLT, and JavaScript development. Komodo is used for
                                                                 Ruby scripts, but not for Rails development. Some important
Komodo IDE used for Python, Perl, and regular expression         features of Komodo are given in below table.[4]
development for several years, and occasionally for Ruby,




    Run tests for more frameworks, including any that output     Share snippets, diffs and all kinds of code directly from
    in TAP or TeamCity compatible formatting. Fillter test       Komodo to your team on Slack.
    results, jump to test definitions and place breakpoints
    directly in your test.




    Write and use tutorials that will run in Komodo. The         You can now force push and force pull files, which is
    possibilities here are endless, you could learn how to       incredibly useful for workflows where all you ever do
    program in a new language or framework completely            is upload changes. Additionally we're introducing a
    from Komodo, or use it as an educational tool for the        dynamic toolbar button for Publishing actions, letting
    classroom. Use our Getting Started tutorial to get to know   you quickly access common publishing tasks.
    Komodo better!




    Debug your code in Chrome, from Komodo! No more
    context switching or locating the same code you've been      Quickly access PhoneGap and Cordova via your
    working on again in the Chrome dev tools. You can write      "dynamic toolbar", as well as interact with them via the
    code, place breakpoints and debug all right from inside      Commando shell scope. Komodo automatically detects
    Komodo.                                                      your configuration and provides contextual actions.


                                            Volume 6 Issue 5, May 2017
                                                  www.ijsr.net
                                  Licensed Under Creative Commons Attribution CC BY
     Paper ID: ART20173823                                                                                       2312
                            International Journal of Science and Research (IJSR)
                                              ISSN (Online): 2319-7064
                           Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391




    Komodo now integrates with Gulp, Grunt, NPM and             We've put a lot of focus on individual frameworks in
    Yarn tasks. The integration allows you to run commands      Komodo 10, a trend you can expect to continue. With
    for those task runners in your shell scope (inside          this iteration we focused on some of the most popular
    Commando), it also adds a button to your dynamic            JS frameworks and derivatives.
    toolbar (new in Komodo 10) which lets you quickly run
    commands via those task runners

6. Codegear 3RDRail 1.2
                                                                That hyperlinking is surprisingly useful for such a simple
3rdRail version 1.2 introduces Problem Detection and            feature. It can be very confusing to figure out why a test
Correction. Each time, programmer save changes to your          failed or a Rails page threw an error. With 3rdRail, once you
code, 3rdRail provides detection of common Ruby and Rails       pick out the root cause from the command output, one click
coding errors. Detected errors are marked within the code       takes you to the correct line of code. In similar fashion, the
and explained in the Problems view. In many cases,              3rdRail dependencies view lets you quickly navigate to the
automatic correction is available via the “Quick Fix” option    right code from a graphical representation of the application's
found within the context menu of the problem description.       functionality.
When automatic correction is not feasible, more general
solution suggestions are shown. Ruby Validations like           7. NetBeans IDE 8.1
Syntax checking and API Deprecation & removal are
including Constants, Variables and Methods in Classes and       NetBeans has long been a strong Java development
Modules. This includes suggestion of an alternative when        environment. It gained Ruby and Rails support with Version
possible.                                                       6.1, NetBeans is a seriously good Rails IDE. NetBeans is a
                                                                Java IDE and is a Sun product, it has excellent support for
Rails Validations like Invalid/Missing Ruby Interpreter,        JRuby. It also supports standard Ruby; however, it has a
Missing Gems Installation, Missing “ruby-debug” Gem             Ruby Platform Manager to select the Ruby interpreter used
required in order to use “Fast Ruby Debugger”, Missing          for a project. The NetBeans Ruby source code editor does
specified version of Rails, Missing Database Configuration,     code formatting and syntax and a right click in the code
Invalid/Missing Database Adapter, Missing “Session Secret       editor brings up a context menu which allows programmer
Key” when “Cookie Store” is specified, Rails 1.2                navigate from action to view to test to declaration, rename,
Components exist in Rails 2.0 project, Reference to Rails 1.2   refactor, reformat, run, test, set a breakpoint, debug, or find
functionality which has been extracted to optional plugins in   usages. Each common action has a keystroke equivalent
Rails 2.0 and Missing Rails item.[5]                            displayed on the menu. The code editor supports a number of
                                                                shortcuts, snippets, and code templates, including a subset of
RadRails provides simple GUI front ends for Rails generators    the TextMate snippets. The number of predefined Ruby and
and rake tasks; 3rdRail goes one better and provides higher-    RHTML templates in NetBeans pales beside the number of
level wizards that collect the necessary information in a GUI   Java templates, but programmer can define his own
and then run a sequence of generators and/or rake tasks in an   templates. NetBeans uses the ruby-debug-ide gem for fast
enhanced command shell. Output from commands adding a           debugging. It came configured for the fast debugger in JRuby
model or view is immediately reflected throughout the IDE.      but not standard Ruby.[6]
Command output is hyperlinked, so that clicking on any
generated file or folder will open that in the IDE."




                                            Volume 6 Issue 5, May 2017
                                                  www.ijsr.net
                                   Licensed Under Creative Commons Attribution CC BY
     Paper ID: ART20173823                                                                                       2313
                             International Journal of Science and Research (IJSR)
                                              ISSN (Online): 2319-7064
                           Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391




                                                   Figure 9: Netbeans IDE

8. Jetbrains Intellij Idea 7.0.3 with Ruby Plug-                 weaknesses. Because several TextMate bundles rely on Unix
   IN 1.0                                                        capabilities, E asks that you install Cygwin to enable those
                                                                 bundles. E has a few Windows-specific bundles of its own,
IntelliJ IDEA is widely regarded as an excellent Java IDE        for example to support C# and ASP.Net, and ships without
and has managed to survive as a commercial product with          the obvious Mac-specific bundles, such as ActionScript and
superior features in the face of strong competition from the     Objective-C.
free NetBeans and Eclipse products. Although the current
Ruby plug-in for IntelliJ IDEA need improvements to make         E takes advantage of the community that has grown up
it a good Rails IDE. Ruby and RHTML code coloring,               around TextMate. Most of what's in the TextMate book
formatting, refactoring, dependency analysis and completion      applies equally well to E, and many TextMate bundles
work well. Code inspections and debugging aren't yet             downloaded from the Macromates Subversion repository will
implemented for Ruby; according to the company, a Ruby           run as is in E.
and Rails debugger is planned for the IntelliJ IDEA 8 release.
When command shell output is shown in a Run window, it is        10. Intype Alpha 0.2.X
often but not always hyperlinked to bring up the appropriate
line of code in an edit window.                                  Intype comes with several bundles by default. TextMate
                                                                 bundle consists of snippets, commands and grammars.
At this point, if you develop Rails with IntelliJ IDEA and       Grammars and theme files are platform-independent, they are
want to use a graphical debugger on occasion, you'd be well      supported. Commands and snippets use shell code, which is
advised to use NetBeans or RadRails as a free secondary          different on Windows and Mac, so it is not possible to
IDE.[7]                                                          transfer them. Intype is free during the alpha and beta
                                                                 development phases but once it reaches release 1.0 it will be
9. E Text Editor 1.0.20 BETA                                     priced similarly to TextMate.


The E Text Editor is basically a TextMate clone for
Windows. It shares many of TextMate's strengths and




                                                   Figure 10: Intype Alpha

                                             Volume 6 Issue 5, May 2017
                                                   www.ijsr.net
                                   Licensed Under Creative Commons Attribution CC BY
     Paper ID: ART20173823                                                                                      2314
                              International Journal of Science and Research (IJSR)
                                               ISSN (Online): 2319-7064
                            Index Copernicus Value (2015): 78.96 | Impact Factor (2015): 6.391
11. Eclipse IDE                                                    Eclipse Marketplace allows for virtually unlimited
                                                                   customization and extension. Ruby on rails plug-in is used by
Eclipse is famous for our Java Integrated Development              windows platform users.
Environment (IDE), but our C/C++ IDE and PHP IDE are
pretty cool too. You can easily combine language support
and other features into any of our default packages, and the




                                                       Figure 11: Eclipse

12. Conclusion
In conclusion, Rails itself is in a state of flux, and the Rails
IDEs are mostly still trying to catch up to the changes
introduced on Rails 2.0, much less Rails 2.1. Most of the
Rails IDEs discussed in this review package will work well
with the current Rails and rake gems with only minor
annoyances: The most common annoyance is confusion
between RHTML files and HTML.ERB files when
generating and navigating to views.

Of course, the next time the Rails core changes, the IDE
vendors will have to scramble to keep up, once again. The
entire Rails core team is using TextMate on Mac OS X. It's a
fantastic editor that ships with Ruby on Rails highlighting
and macros. If you're not running Apple, check out RadRails.
It's a cross-platform Rails editor built on top of the Eclipse
IDE."

References
[1]   https://macromates.com/
[2]   www.sapphiresteel.com
[3]   www.aptana.com
[4]   https://www.activestate.com
[5]   www.codegear.com
[6]   https://netbeans.org
[7]   https://www.jetbrains.com




                                              Volume 6 Issue 5, May 2017
                                                    www.ijsr.net
                                    Licensed Under Creative Commons Attribution CC BY
      Paper ID: ART20173823                                                                                       2315