About Ruby on Rails
Ruby on Rails or also simply termed as Rails is an open source Web application framework that is written in Ruby, a general purpose programming language utilized primarily in Web programming.
What is the idea behind Ruby on Rails?
Ruby on Rails is based upon the pattern of Model-View-Controller, which splits your application into three main parts:
- Models: These are your business objects that describe the behavior and structure of the problem being solved by your application. These are generally backed by an Object-Relational-Mapping framework, which continues your objects to the background database.
- Views: These are the templates that provide data to the user and additional logic that surrounds presentational facets of your app.
- Controller: The controller processes requests from clients, initiates changes in the models, and triggers the provision of the templates.
What are the Guiding Principles of Rails?
There are certain guiding principles on which the popularity of Rails is based.
Opinionated: Rails unlike Perl, which is non-opinionated software, is cited as opinionated. For numerous problems that are to be solved by Web application developers, there are specific Rails ways. In case you work with the Rails conventions, you’ll be left with fewer decisions to make and you’ll discern more of what you require is already there. Thus, the benefit is enhanced development, better collaboration, and easier upkeep.
Convention Over Configuration: It means you’ll be more productive. You won’t have to devote time in setting up configuration files. In addition, you’ll devote less time in thinking about what names to design and where things go. And, since other developers know the same conventions, it’s easier to collaborate.
Don’t Repeat: In software development, code reuse remains a basic technique. Rails primarily works on the advantage of Ruby’s multiprogramming features to not only reutilize code, but also eliminate code, wherever possible. Having knowledge regarding Rails conventions makes it easier to create entire simple Web applications with just some lines of code.