I’m pretty sure that you by now are wondering What is Ruby on Rails? and how it can help me in creating my future web application? How easy is it to learn this language? Well, to answer all your questions let’s first start by understanding the meaning of Ruby on Rails. and to understand that term we first need to know what is Ruby in the first place…
- Ruby is a programming language conceived on early 1993 by Yukihiro Matsumoto who wished to create a new language that balanced functional programming with imperative programming. So it’s been there from a long time, but why we didn’t hear about it until the past few years. That’s because Rails has adopted it for the web and make it excited language to create your web application with.
- Ruby is similar to Perl, SmallTalk, Python, & LISP. If you are familiar with any of those programming languages you will find the syntax is more a like specially for Perl developers.
- Ruby is not just for developing web applications, as Ruby is like any other programming language for example C++, C# all can be used for a variety of applications, desktop applications, mobile application, web application and much more.
- Ruby is Object Oriented Programming Language. for you who are not familiar with the term, Object Oriented Programming is programming a collection of individual units which can each do their own processing and also interact with each other. Which means you can develop an individual code that process its own action in the same time that it can interact with other code.
Now you know what is Ruby… and it’s time to know what is Rails?
- Rails is an Open Source Web Application Framework that is written in Ruby.
- Ruby on Rails was extracted by David Heinemeier Hansson from his work on Basecamp, a project management tool by 37signals (now a web application company). David Hansson first released Rails as open source in July 2004, but did not share commit rights to the project until February 2005. In August 2006 the framework reached a milestone when Apple announced that it would ship Ruby on Rails with Mac OS X v10.5 “Leopard”, which was released in October 2007.
- As an Open Source, Rails is free for community. everyone can download the source code, modify it and share it back, fix bugs, add features, & play around with it that is the whole idea of Open Sources.
- You may now asking What is the meaning of Web Framework? Well, in brief it’s a set of software tools, pre-written code libraries, and data-organization structures created together to assist in writing a web application.
So after outlining those definitions, what makes Ruby on Rails so powerful and efficient? there are two qualities that makes creating a web application using Ruby on Rails “I’ll call it from now on RoR” a very powerful development tool for creating applications:
- DRY: The Mantra of Rails, DRY stands for Don’t Repeat Yourself. Rails make it easier to maintain and keep you code clean and not repeated in so many place, so all you have to do is to make your code in one place so when you need to get back to it you wouldn’t go to far searching among all your project files and folders.
- Conventions & Sensible Defaults: Which save lots of time and energy during developing you applications, as everything is very well organized on its own place.
Another fact about rails is that RoR is based on MVC Architecture, if you are not a programmer then you probably don’t know what MVC Stands for:
- M – Model: which are objects.
- V – View: which are presentation layers.
- C – Controllers: which process and responds to events.
The MVC is a way to organize your code in Rails. MVC is DRY and takes all advantages of conventions and sensible defaults. We will get to know more about the MVC Architecture later during this guide.
Now we have a general idea about what’s going on and what terms we will be using during this guide, In the next article I’ll show you how to prepare your testing environment for Ruby and how to install Rails on it and how to create your first application, so stay tuned and register to this special mailing list which will updates you once per week about articles you have missed about Ruby on Rails Only.
