Ruby on Rails is a Web application development framework written as a way to make life easier for Web developers. To better understand Ruby on Rails, it is first critical to know what a Web application is and how it differs from a website.
Rather than making programs and applications that are specific for each type of computer, known as desktop applications, the majority of companies are now creating Web applications. While it is difficult to distinguish the difference between a website and a Web application, Web applications are those programs that are stored in the cloud and can be accessed using any Web browser, such as Safari or Firefox.
Examples of Web applications are online email services like Gmail and Yahoo! Mail, word processing programs like Google Docs, as well as a number of popular websites like Facebook, Hulu, Dropbox and Evernote.
According to the website GCFLearnFree.org, when computer owners use a Web app, they are working from their computer or mobile device, but much of the actual processing is done by a network of servers. These servers can pool all of their processing power in order to handle requests from all over the world.
"They also use specialized servers to store the data that you're working with, as well as the data from all of the other users," GCFLearnFree writes on its website. "All of this happens very seamlessly, so it looks almost like the application is running on your computer."
Creating Web applications
While there are many ways in which to develop a Web application, Ruby on Rails has quickly become a favorite for many developers. According to the Ruby on Rails website, the frameworkis designed to make programming Web applications easier by making assumptions about what every developer needs to get started.
"It allows you to write less code while accomplishing more than many other languages and frameworks," the site boasts.
David Heinemeier Hansson developed Ruby on Rails in 2003 with two main philosophies in mind:
- Convention Over Configuration: This refers to the fact that Ruby on Rails makes assumptions about what the Web application developers wants to do and how they're going to do it, rather than requiring them to specify every little thing through endless configuration files.
- Don't Repeat Yourself: This means that the framework does not require developers to write the same code over and over again.
Helping to make Ruby on Rails so easy to use is its Model-View-Control framework, which is a way of organizing code. With this framework, the model controls the database interactions, the view handles what is displayed in a browser and the control deals with the Web server.
Those who have created Web apps via Ruby on Rails believe because of its founding principles, the framework has two main advantages in that it is highly productive and cuts down on development time. In an article on Business Insider, Tom Mornini, co-founder of Platform as a Service provider Engine Yard, wrote that Ruby on Rails has quickly become so popular among Web application developers because it is the most productive way to build Web applications.
"With start-ups increasingly focused on information delivery rather than physical product delivery, many choose Rails to build apps quickly, at low cost and, therefore, low risk," Mornini wrote."They are leveraging Ruby on Rails’ software delivery economics in the core of their products and services."
Among some of the more popular Web applications built with Ruby on Rails include the project management site Bascamp, the online video site Hulu, the slideshow site Slideshare, the food site Chowhound and the sports site Bleacher Report.