Ruby on Rails, which is also referred to as “Rails” was formed by David Heinemeier Hansson in 2004. It was created as a kind of by-product of Basecamp development at thirty-seven signals. Basecamp was created in Ruby because Heinemeier discovered that Java and PHP are not flexible and powerful enough. Back then, it was quite an ambiguous language, with no large eco-system as it is today. To ease the stress passed through by most developers, Hansson came up with his own web application framework that is based on simple concepts that had been proven to be successful elsewhere. Hansson founded Rails on pragmatism and paradigms, rather that of exotic new ideas. This is the main reason why Rails is successful.
Rails is founded on the Model-View-Controller pattern that divides your application into 3 parts:
• The first part are the Models. They are your business objects that describe the behaviour and structure of the issue your application is trying to resolve. They are usually backed by a framework known as Object-Relation-Mapping, which persist your object to the database in the background. In summary, the model contains behaviour and business data.
• The second part is Views. These are templates that offers data to user, as well as all the logic surrounding presentational areas of your app. In summary, the views provides model to users, and it is triggered by controller
• The third part is the Controller. It is the hub of the whole process. Initiating changes in the models, processing request from clients, and triggering the provision of the templates. In summary, the controller is in charge of control flow of the application.
There are different opinions about Rails. It focuses on just a way of doing things, and channels all its parts towards that way. This does not necessarily mean you cannot do things differently if you so desire to, but you will surely have it much easier if you do it the “Rails way”. And this “Rails way” happens to be the right way for its founder, David Hansson and also a lot of other developers.
The productivity, rather than performance of programmer was the major goal of Hansson during the development of Rails. This has led to so many claims and controversy that arise often times that Rails cannot scale. To a certain extent, this is Rails actual fault. In the past, it was considered as the messiah of hope because it had image of a web development framework, and was thought of taking us to the promise land where applications can write themselves. Expectations was kept realistic by the Rails team, and this led to the disappointment of some people.
No doubt, Ruby on Rails is quite slower when compared to Python and PHP, but it surely does scale, as proved by hundreds of successful deployments. The performance of Ruby on Rails can be improved upon, but that doesn’t stop one from making use of it because the soft has its own good sides.