Development Tools

Ruby on Rails – web application framework

Ruby on Rails, often shortened to Rails, is an open source full-stack web framework in Ruby for writing real-world applications.

Being a full-stack framework means that all layers are built to work seamlessly together. That way you don’t repeat yourself and you can use a single language from top to bottom. Everything from templates to control flow to business logic is written in Ruby.

Rails is a mature application with its development starting in 2003.

Key Features

  • Uses the Model/View/Controller (MVC) architecture pattern to organize application programming:
    • The View layer is composed of “templates” that are responsible for providing appropriate representations of your application’s resources. Templates can come in a variety of formats, but most view templates are HTML with embedded Ruby code (.erb files).
    • The Model layer represents your domain model (such as Account, Product, Person, Post) and encapsulates the business logic that is specific to your application.
    • The Controller layer is responsible for handling incoming HTTP requests and providing a suitable response. Usually this means returning HTML, but Rails controllers can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers manipulate models and render view templates in order to generate the appropriate HTTP response.
  • ORM – ActiveRecord.
  • Testing frameworks – unit tests, functional tests and integration tests.
  • DB migration frameworks.
  • Plug-in security frameworks.
  • Template frameworks.
  • Caching frameworks.
  • Form validation frameworks.
  • Automatic Query Explains.
  • Database Access Library: Ruby on Rails includes a database access library – Active Record – that simplifies data handling in databases. Active Record automatically maps tables to classes and rows to objects.
  • Libraries for common tasks: Ruby on Rails includes a host of libraries that simplify the coding of common programming tasks such as form validations, sessions management, etc.
  • AJAX Library: An extensive library of AJAX functions is provided in the Rails framework. Ruby code can be used to generate AJAX code. The associated java scripting required for AJX gets generated automatically.
  • Convention over configuration: Ruby on Rails does not have any XML configuration files. It includes simple programming conventions that can be used to specify the configuration parameters.
  • Customized URL: Custom or Search Engine Friendly URLs can be developed using the Ruby on Rails framework.
  • Debugging: Detailed error logs are provided, making it easier to debug applications.
  • Components: Components can be used to store reusable code. Components can be included to modularize templates.
  • Tagged logging.
  • Low on dependencies.
  • Internationalization support.

Website: rubyonrails.org
Support: Guides
Developer: David Heinemeier Hansson
License: MIT License

Ruby on Rails is written in Ruby. Learn Ruby with our recommended free books and free tutorials.


Related Software

Ruby Web Frameworks
Ruby on RailsFull-stack web framework in Ruby for writing real-world applications
SinatraDSL for quickly creating web applications in Ruby with minimal effort
GrapeREST-like API framework for Ruby
HanamiFull-stack Ruby web framework
PadrinoFull-stack ruby framework built upon Sinatra
UtopiaWebsite generation framework
RodaRouting tree web toolkit for Ruby
RageAPI-first Ruby web framework

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted