Ruby on Rails is a popular open source web framework which has caused a lot of excitement among numerous web developers. Basically, Ruby is a programming language and Rails is a framework. Ruby on Rails supports agile development techniques. It also follows a philosophy of convention over configuration. Due to this, it has allowed various web developers to radically reduce the efforts and time in creating different web applications. Let us explain in this Ruby on Rails introduction why this web framework has been popular among web developers.
Some Special Characteristics of Ruby on Rails
Ruby on Rails has quickly risen to fame for many different reasons. This open source web framework was conceived out of tough real-world requirements. It emerged when its author, David Heinemeier-Hansson, refactored a large web application he was writing.
Due to this, Ruby on Rails is not just a result of an abstract API architecture. In fact, it has been optimized to achieve its goals. It helps web developers in many different ways. As mentioned earlier, the biggest time saver in Ruby on Rails has been its philosophy of convention over configuration. For instance, it allows a web developer to name his data model class with the exact same name as the corresponding database table.
This means you will not have to write any unnecessary mapping code. Moreover, you will be able to use simple keywords like (ID) as the primary key name. Needless to say, Ruby on Rails also provides overrides and get-outs. However, they should only be used when absolutely necessary.
As an open source web framework, Ruby on Rails implements the MVC or Model-View-Controller architecture. Due to this, component parts of every application are separated :
Model – It encapsulates data manipulated by the application. It also applies a domain-specific logic.
View – It signifies the model’s rendering into user interface.
Controller – It responds to various events from the user interface. It also allows certain actions to be performed on the model.
The Model-View-Controller design pattern allows quick changes. Moreover, it allows the evolution of controller and user interface completely separate from data model. Due to this, Ruby on Rails is perfect for web application programming. Hosting web application is not a problem anymore, among the numerous of companies, my choice fell on ninefold.
Ruby on Rails introduction will be incomplete without mentioning that this web framework supports test-driven development. This is an important component of agile software development. In fact, it even enables complete evolution of a web application. Ruby on Rails supports the following types of testing :
Unit Testing – On the model
Functional Testing – On individual controllers and views
Integration Testing – Enables complete testing throughout the application
Although most of the web developers accept that test-driven development is a great idea, inconvenience of writing tests makes it take a backseat. However, Ruby on Rails does not give you any excuses. It brings tests to the core of application environment.
In case you don’t understand Ruby, you don’t need to worry. It is not a lot different from other programming languages like Perl, Python or Java. Appropriate knowledge of Ruby is crucial for working on Rails.