Best Ruby IDE for web developers

Reviews of most popular IDEs
31 May 2017   3811

Integrated development environment (also known as IDE) is created for deep work with specific language, Ruby for example. Despite the fact that many programmers prefer text editors, IDE-systems offer a much bigger range of possibilities. They simplify code navigation, have an auto-completion function, highlight the syntax and errors in it.

Ruby exists for more than 20 years, and during this time dozens of integrated development environments have appeared and disappeared. Not every solution that are currently available on the market is comfortable and really helps to write quality code. Let’s figure out which of them will suit Ruby programmers.

Here are the criterias of compare:

  1. Platform : Windows, Linux, Mac OS.
  2. Solution type. Is there only a boxed version of the IDE, or is it possible to purchase a cloud version of application with a rent?
  3. Integration level with Ruby. Can it only, for example, highlight the syntax or can  also do an auto-completion, find errors and necessary parts of code?
  4. Trial version availability and the conditions for its provision.
  5. Capability to work with other programming languages.

General market overview

All existing development environments for Ruby can be divided into two large groups:

  1. A system that supports multiple languages. Usually it’s a text editor, which with the help of plugins can be "trained" to work with necessary syntax. Such solutions are not demanding on the power of the computer, they are easily modified and often free, such as Vim. Minuses are: the need to find and install third-party modules, limited support of specific language, which sometimes includes only basic function like highlighting.
  2. Profile IDE. As a rule, they work only with one or two related languages. For example, RubyMine, in addition to support Ruby itself, allows you to take advantage of the development environment for other major web developer tools: JavaScript, HTML and CSS. The disadvantages of such solutions are: higher requirements for hardware and prices at the level of professional corporate software.

Recent years trend of using the SaaS services hadn’t bypass Ruby IDEs. Some of these solutions are cloud-based.

  • The main advantage of cloud IDEs is ability to use it on any device or platform. They do not require high computer performance, even cheap tablet will fit. You can use it anywhere you have the Internet. A monthly rent will allow to use professional IDE even for small start-ups or freelance programmers.
  • However, dependence on the Internet is a disadvantage; if the connection is lost, there will not be access the service. The cloud IDEs also have issues with safety and stability. If there is a issue on the side of the service provider, there is nothing user can do. There can be problems with the data security - recent incident with GitLab eloquently illustrates the situation.

Price is very important too. In general, text editors are freeware, so you can choose the right solution among them. If you need a more powerful application, then most likely you will have to pay - only free IDE you can find is Aptana Studio.

What IDE solutions are now available on the market for Ruby developers and what can they offer?

RubyMine

Platforms: Windows, Linux, Mac OS.

Solution type: boxed application with the ability of monthly payment.

Trial version: 30 days trial is available without any limitations on the functionality. You can get a 90 days free trial for a developers team.

Price. Payment is possible only on a rental basis. For an individual user, the year of use of RubyMine will cost $ 89 for the organization it will cost  $ 199 for one copy. You can buy a license for several years ahead, saving about 40% of the amount. Monthly payment is possible, however in this case the total price tag for 12 months will grow by approximately 20% - $ 238.8 for the company. JetBrains offer completely free access to their IDE for students, teachers, educational institutions, open-source projects. Startups can receive a 50% discount for three years. The price for graduates of universities and users of other Ruby IDEs is reduced by 25%.

Supported languages: HTML, CSS, JavaScript. The list can be extended by purchasing a license for other IDEs from this developer.

rubymine interfaceRubyMine Interface

Features:

  • Specialized solution for Ruby programmers;
  • Syntax highlighting and autocompletion, the written code is analyzed "on the fly", with the immediate fix ability;
  • Navigation by code elements or bu the project itself;
  • Built-in Ruby debugger;
  • RoR and Sinatra support;
  • Integrated with Git, Subversion, Mercurial, Perforce, CVS;
  • Flexible customization.

Сonclusion: powerful multi-platform tool for Ruby coding with support for important features. The main disadvantage is a high price even with allowances for possible discounts.

RubyMine videoreview by JetBrains

Download link.

TextMate

Platforms: Mac OS.

Solution type: boxed application with a single payment for the number of users.

Trial version: not available. 

Price. One copy costs $54-55, depends on country. For EU users it's $65, but $54 corporate version is also available for them. When application is purchased for 30, 50 or 100 users at once there is big discount. An academic license is available for the non-commercial use of TextMate - it is cheaper by an additional 15%.

Supported languages: all popular.

textmate interfaceTextMate interface

Features

  • Big set of ready-made libraries and snippets for any programming language;
  • Navigation thru functions using hotkeys;
  • Ability to create own code templates and insert them quickly;
  • Work with projects is supported; 
  • Convenient files search;
  • Highlighting of syntax and errors.
  • Working with Ruby in TextMate is supported by David Hannson, the creator of Ruby on Rails.

Conclusion: excellent development environment for any programmer, including Ruby coder, while quite good price. The main disadvantage is only Mac OS support.

Download link.

Vim

Platforms: Windows, Mac OS, UNIX-systems, iOs, Android.

Solution type: boxed application with free license.

Price: freeware with ability for donation.

Supported languages: PHP, Python, C, C++, Delphi, Perl and many others.

vim interfaceVim interface

Features:

  • Modification of popular, but outdated text editor Vi for Linux;
  • Wide customization capabilities, simple tools for creating own Vim plugins;
  • Workspace organization: simultaneous work with few files and it's tabs management, three modes (command, insert and last line mode), ability to save session's settings;
  • Syntax highlight and it's simple editing: unlimited number of "undo" operations, comparing of two files and changes transfer, autocompletion;
  • Search history by different parameters;
  • Automation of standard operations.

Conclusion: Vim is a text editor that provides features of full-fledged IDE. Strong side of the application is freeware and support for the most of platforms, including mobile.

Download link

Sublime Text

Platforms: Windows, Linux, Mac OS.

Solution type: boxed application. 

Trial version: no time or functionality limits, but with regularly reminds about purchase.

Price: no need to purchase the application to use it. Individual license will cost $70. Discounts are available for massive one time purchase for business using.

Supported languages: C, C++, CSS, HTML, Java, JavaScript, PHP, Python and other.

sublime text interfaceSublime Text interface

Features

  • Syntax highlight support and quick navigation using the code map;
  • API for creating own plugins for Python applications;
  • Simultaneous work with few files and multi-correction;
  • Creating of own snippets and keywords for them.

Conclusion: test editor that cannot replace IDE, but it can fit for a coder, that has enough of provided features and doesn't need specify Ruby support.

Download link

Emacs

Platforms: Windows, Linux, Mac OS.

Solution type: boxed application with free license.

Price: freeware with ability for donation.

Supported languages: most of the popular.

emacs interfaceEmacs interface

Features

  • Flexible code editing: most of the operations have hotkeys, cursor can be moved by symbols, worlds, lines, paragraphs, functions or massives;
  • High level of customization. Almost all functions of the editor can be reconfigured for you. To do this, you must have at least basic knowledge in Elisp, but some changes can be made through a visual interface;
  • A separate editing mode for each language, including Ruby;
  • Quick access to configuration files and navigation through Rails directories.

Conclusion: a powerful text editor with IDE functions, which can provide high-quality work with Ruby code. It does not have a binding to a specific platform, like TextMate, and not so complicated for beginners as Vim. Freeware. Great choice.

Download link.

Aptana Studio

Platforms: Windows, Linux, Mac OS, plugin for Eclipse.

Solution type: boxed application with a free license.

Price: freeware.

Supported languages: HTML, CSS, JavaScript, PHP, Python.

aptana studio interfaceAptana Studio interface

Features:

  • IDE is primarily designed for HTML, CSS and PHP, other languages support ​​is more like an addition to the basic functionality;
  • Works with Rails;
  • Syntax and error highlighting, auto-completion;
  • Integrated Ruby Debugger;
  • Code represented in the tree structure to simplify navigation.

Conclusion: a simple free IDE, which is good for private use at home and in small companies that can not afford to buy specialized software for working with Ruby.

Download link.

Atom

Platforms: Windows, Linux, Mac OS.

Solution type: boxed application with a free license.

Price: freeware.

Supported languages: HTML, Java, JavaScript, Objective-C, Perl, PHP, Python and others.

Atom interfaceAtom interface

Features:

  • Application is based on the Chromium browser, so it's great for web development;
  • Flexibly customization and a large selection of themes;
  • Syntax highlighting, work with templates and searching for files by exact or incomplete name supported;
  • Automatic indentation according to the specification, displaying of invisible characters.
  • Auto-completion for Ruby is not available.

Conclusion: the editor does not have a specialization under Ruby, although it can work with the code written on it. You can try, if for some reason, do not like classic solutions like Vim and Emacs.

Atom video introducing

Download link.

Komodo IDE

Platforms: Windows, Linux, Mac OS.

Solution type: boxed application.

Trial version: 21 day trial without functionality limits.

Price: it comes only with the support of all available languages, without the possibility to purchase a solution for 1-2 specific languages. The cost of one license is $ 295, with updates and techsupport - $ 394. It is possible to purchase a group license for a team of five men for $ 1695. Students and freelancers can get a solution for a half of price, teachers who need the system for studying - for free.

Supported languages: more than 100.

komodo ide interfaceKomodo IDE interface

Features:

  • Integration with Task Managers and bug trackers;
  • Syntax highlighting and autocompletion for all supported languages;
  • Works with all popular Ruby frameworks;
  • Remote code debugging;
  • Simultaneous work with several projects;
  • Interactive terminal for Ruby.

Conclusion: the most expensive solution of the considered. The main component of the price is multi-lingual, therefore it is not advisable to use Komodo IDE for programming on 1-2 languages.

Engine Yard

Platforms: any.

Solution type: cloud application.

Trial version: 500 hours for 6 months.

Price: based on hourly pay. Solo - $ 0.03 ($ 25 per month), Standard - $ 0.20 ($ 150 per month), Premium - $ 0.40 ($ 300 per month). The difference is in the functional. There are no binding to the number of employees.

Supported languages: Ruby, PHP, JavaScript.

engine yard interfaceEngine Yard interface

Features:

  • Platform can be used not only as IDE, but also as a hosting for applications written in PHP, Ruby and Node.js;
  • Remote access to the application;
  • GitHub integration;
  • Automation of work with the developed application, monitoring of its availability and stability;
  • The platform positions itself as specializing, first of all, for Ruby on Rails.

Conclusion: a good solution, allowing to combine the development environment with hosting for the application.

Engine Yard video

Access link.

Cloud9

Platforms: any.

Solution type: cloud-based application.

Trial version: limited functionality (one private workspace).

Price: monthly payment. The individual license will cost $ 19, corporate with the support of the team workspace - $ 29 per user. For educational projects, IDE is available for a symbolic price of $ 1.

Supported languages: Ruby, PHP, JavaScript, HTML, CSS, Python.

Cloud9 interfaceCloud9 interface

Features:

  • Integration with Bitbucket and GitHub;
  • Applications transfer from Microsoft Azure;
  • Built-in the command line terminal;
  • Fast transition by variables, code completion and syntax highlighting.
  • Flexible interface customization as in VIM, Emacs or Sublime.

Conclusion: inexpensive, but sufficiently functional IDE. Can be a replacement for one of the desktop applications, and an auxiliary solution for organizing common work on the project.

Cloud9 video preview

Access link.

What IDE for Ruby you like the most?

There are big amount of great solutions in field of Integrated Development Environment that supports Ruby. Ruby support for some of them is just an option. Some of them are designed for Ruby coding. Please, share your opinion on best Ruby integrated development environment. 

How To Start an Open Source Project

Personal experience on the open source project; doing it effectively without mistakes
26 January 2018   1260

My name is Dmitriy Strukov and I’m Ruby developer. Today I want to share my experience creating an open source solution. I will talk about what steps the project should take, how to choose the right functionality for the first release, and what mistakes I faced personally when creating my open source project.

Half a year ago, I got the idea that it would be good to create an open source project. Instead of test tasks for the interview, it would be enough for me to send a link to the repository. The prospect of helping colleagues with the solution to their everyday problems inspired me.

I’ve always disliked gems for creating administration panels. Any extra movement needs to redefine the class, and for change fields you need to make changes to the files. After thinking and conversing with colleagues, I decided to create a new library which would be flexible and would not require dashboards or configuration files.

SimpleAdmin

Initially, the project was focused on the Ruby ecosystem, but this would limit the target audience of such a solution. SimpleAdmin is a cross-platform solution for administrative panels, working as a third party service. Obtaining data from the database from the main application works with the help of a plugin. In the Ruby on Rail it engine, in which the necessary endpoints are created. In the near future, the launch of a prototype is planned.

Determine the goals

Every open source project solves a specific problem. Talk with colleagues, chats, forums, and share your idea. It all helps you on the first steps to understand important things, like which solutions already exist, and to hear criticism. Talk with people who already have open source projects. They can give you very valuable advice, so don’t be afraid to ask and take the initiative.

One important bit of advice which I got at that stage is to pay attention in the first place on the documentation of the project. You can have a very good project, but no one will spend the time to understand how it works.

The most important aspect, without which further steps are impossible, is motivation. The idea of the project should inspire you primarily. Most often people get used to the tools with which they work and fall into a comfort zone, so external opinions may be ambiguous.

Planning

The choice of a certain task manager is a matter of taste. It should have a clear picture of the tasks and stages of your project.

Divide tasks into sub-tasks. Ideally, if one task does not take more than 3–4 hours, it is important to enjoy the implementation of small tasks. This will help to avoid burnout and loss of motivation.

I use pivotal tracker . The main advantage is a free version for open source projects where you can sort tasks by type (feature, bug, chore, release), and group them into releases and determined deadlines.

Documentation

Every open source project should contain these things:

  • README
  • Open Source license
  • Contributing guidelines
  • Changelog

The README file not only explains how to use your project, but also the purpose of your project. If you do not know how to properly write a README file, you can look at other known open source projects or use a template .

The license guarantees that others can use, copy and modify the source code of the project. You need to add this file to each repository with your open source project. MIT and Apache 2.0 GPLv3 are the most popular licenses for open source projects. If you are not sure what to choose, you can use this convenient service .

The CONTRIBUTING file will help other developers contribute to the project. At the first steps of the project, it is not necessary to pay close attention to this file. You can use the already prepared template from another project.

Changelog contains a supported, chronologically-ordered list of significant changes for each version. As with the CONTRIBUTING file, I do not advise paying special attention to this at an early stage.

Versioning

To track important changes for users and contributors, there is a semantic version . The version number contains numbers and adheres to the following pattern X.Y.Z.

  • X major release
  • Y minor release
  • Z patch release

Continuous integration / Continuous delivery

To automatically run tests and build, I use Travis CI. It’s also a good idea to add badges to display the successful assembly of the build in the wizard, the test coverage (Codecov), and the documentation (Inch CI).

After each new commit or merge in the master, I automatically have a deploy on Heroku (very convenient integration with GitHub). All tools are absolutely free for an open source project.

My mistakes

To analyze the initial stage, I had an idea, but there was no clear plan. I decided that I wanted to do this without having a clear idea of how much time it would take or a specific representation of the functions that would be in the first version of the library. I had just a lot of desire and lack of a clear plan.

Also, after reading the history of other projects (not only open source), I noticed that at an early stage, some plans are too optimistic. They need a reassessment of their strengths and capabilities. But it’s not easy to find time each day to write a new feature in the project. Most of the tasks eventually had to be weeded out, leaving the necessary minimum for MVP.