480.505.4500
The Communications Agency For Your Digitally Driven Future.
Click Image for Case Study

What Is Ruby on Rails

And why should you care about your programming language?

A full-stack, open-source web framework, Ruby on Rails – a web development framework that's gaining rapid popularity in the web development community – helps us streamline our development process and remove excess steps, which means we can build you an award-winning website with remarkable efficiency.

As Off Madison Ave's web development language of choice, Ruby on Rails provides us with a win-win situation: our clients get a better website in less time, and our developers can avoid the headaches of other programming frameworks.

How does Rails make Web development more efficient?

The reasons are many, but it really comes down to assumptions. Despite what you may have heard about them, not all assumptions are bad. This is particularly true in software development – specifically web application development, where many of the exact same tasks must be completed again and again. By intelligently utilizing assumptions, Rails allows web developers to complete those identical tasks over and over without the time-consuming process of individually implementing each one.

Several years ago, this wasn’t an issue. Most of the websites you might visit didn't do a whole lot. They were built by hand and were largely static, meaning that unless the person who built the site went in and changed it, the site didn't change. This is a far cry from the interactive experience we now expect, including signing in, posting comments, reading articles and many other activities.

But today, whether you're visiting the website of a local retailer or trying to find info on the latest iPod, most of the web pages you see in your browser are now dynamic. When you sign into your account on Amazon.com, a host of constantly changing information greets you, and quite a lot of this information is customized specifically for you. This is where assumptions become incredibly helpful, as they allow a bevy of information to be dynamically updated each time you visit.

How do web applications work?

The real answer to this question can be pretty technical, but the basics are easy to grasp. Most web applications have a lot of things in common. They all need a view – a way to present something to the user. How does the view know what to display? That's a job for a controller, which is pretty much exactly as it sounds. It controls the experience. When you click a link and your browser pulls something else up, it was the controller's job to figure out where you were going so it could tell the view what to show you. There's another very important part to all this, and it's called a model.

Fundamentally, a model is a collection of stuff, including things that describe it as well as things it can do. Models can be simple or complex. When you sign up to get e-mail from a retailer, you've probably just created a model. That particular model might hold your name and your e-mail address. If I were to name it, I might call it a "subscription."

Let's say you're on Apple's web store. Each of those products is a model. They're unique on their own, but they all have some basic things they share. Each has a name, a price, pictures, a description and more. Some of them have options. Despite being remarkably different in their individual functions (and name, price, pictures, and so on), these products are all sold to you in the same way. At the same time, these products are separated into different categories – and yes, categories are models, too!

What I've just described is what we programmers know as "MVC," or "Model - View - Controller," which happens to describe a design pattern. As you might expect, there are many design patterns in programming; however, MVC happens to fit really well with web applications. That's where Rails comes into play.

What does Rails have to do with MVC?

Rails makes a lot of really intelligent assumptions about how each of the pieces in the MVC design pattern should be implemented, with the idea that if you know what the assumptions are, you can design your applications to work with them. If you can do that (and we've not come across a single project where we couldn't), you get a lot of useful things for free. This is of course a gross oversimplification, but you get the idea.

To boil it down, Rails takes a lot of the grunt work out of making websites, so that we can focus our time where it really matters: what the website is supposed to do.

Contact

Join

Sign up now for periodic emails featuring marketing news and analysis.

Sorry, we couldn't process your submission. Please check that you filled out the form completely and try again.

.