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.
Popular series | |
---|---|
The 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. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine 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. | |
New 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. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux 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 Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |