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.

Features include:

  • 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.

Return to Ruby Web Frameworks


Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments