Ruby On Rails is a full-stack (all parts needed for a Web application are present), open-source web framework. It lets you write beautiful code by favouring convention over configuration. It was created in 2003 by David Heinemeier Hansson and since extended by Rails Core Team. It runs on all major operating systems like LINUX, OS X and Windows. It supports most common open source Databases like MySQL and Postgre SQL, SQL Server, Oracle and others. It uses any Web Server that supports CGI, the most popular being Apache and Lighttpd.
The entire framework is written in Ruby, a language whose popularity has shot up ever since Rails hit the scene.
Thanks to ROR, programming now appears like a simple task. Powerful web applications that have formerly taken weeks or months to develop can be produced in a matter of days. There is no doubt that web frameworks have exploded in popularity over the past few years, and while it is likely that a large part of that growth can be attributed to ROR, the outpouring of Mobile View Controller (MVC) frameworks in other languages is no less impressive. Before we decide on a framework for our project we should list out its purpose and also know about the development team behind the scenes. 3 considerations for the projects would be- 1. Primary focus of the application- Is it an eCommerce business, a social community, a messaging platform or a directory? If we’re building an eCommerce site, for instance, we may want to choose a framework with some baked-in libraries with proven extensions for dealing with credit card processing. On the other hand, a light-weight messaging platform may need to scale very rapidly or use multiple servers and databases for load balancing and faster connectivity. 2. Hosting Environment- Some frameworks require additional PHP modules or software installation on the server, which may not be an option in the shared environments. Furthermore, a lightweight framework on which everything is self-contained and highly portable may not provide the best functionality for serious data manipulation or large information processing. For instance, some frameworks work best with MySQL while others include libraries for working with key-value and document store databases. 3. Strengths and weaknesses of developers- It is important to get a sense of the skills and shortcomings of the developer who will actually build and maintain the application. Some frameworks are more user-friendly and better for beginners. Just as it is difficult to start speaking a new language, resistance to switch to a new framework is an acknowledged fact. But strengths and weaknesses of each framework has to be laid bare to enable the developer decide what is best suited to him.
ADVANTAGES OF ROR OVER PHP
- ROR is framework and PHP is language. Recently many new standards in ROR are introduced which PHP frameworks are copying such as CakePHP.
- ROR includes a web server for development whereas a web server has to be installed for PHP
- ROR implements MVC architecture whereas MVC framework has to be installed on PHP
- ROR framework provides the Create-Read-Update-Delete (CRUD) functionality by using Ruby, whereas PHP is language which doesn’t support this.
- ROR is bit slower than PHP frameworks.
ROR uses a concept called Convention over Configuration which makes us follow conventions while coding, leaving us with little configuration to do. For instance, while creating a model class called “Post” the corresponding databases will be called “Posts” and the controller class will be called “PostsController. Further Rails has a nice feature called Scaffolding. Scaffolding allows us to create useful prototypes for clients in superfast times. But we should be aware that it is deemed bad practice to use scaffolding code for actually building the final draft of a web application. When working in a group, it can become hard to keep track of changes to database. While someone makes a change to the database we could continue to write a code that expects the field to exist whereas it doesn’t. ROR solves this problem with Migrations that automatically migrates databases as and when modifications are made. The growing demand for Ruby On Rails has been driven by successful companies who have benefited from the speed and agility of building applications in Rails resulting in increased productivity and company growth. Around 200,000 websites are using ROR a measure of the success and utility of this framework.