Mighty Interactive Homepage

Services List

What is Ruby on Rails – And why should you care?

« back to services list

Ruby on Rails – an innovative Web development framework that's gaining rapid popularity in the Web development community – is the new standard at Mighty Interactive. A full-stack, open-source Web framework, Ruby on Rails is "optimized for programmer happiness and sustainable productivity," according to its own Web site.

By streamlining our development process and removing excess steps, Rails helps us build award-winning Web sites with remarkable efficiency for our clients. In short, it presents a win-win situation: our clients get a better Web site 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 was not an issue. Most of the Web sites you might visit didn't do a whole lot. They were built by hand and were largely static, meaning that unless the person(s) 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 Web site 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, you're greeted by a host of constantly changing information, quite a lot of which was 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 Web sites, so that we can focus our time where it really matters: what the Web site is supposed to do.

E-mail Newsletter

Sign up to receive the bi-weekly New York Minute marketing newsletter. You will also receive periodic agency announcements and invitations. View latest issue.


Ruby on Rails – A Mighty Tool

Check out our new section on Ruby on Rails, the Web development platform everyone's talking about. Developers – download our plugins.


You Make Money, We Make Money

Ask us about our results-based pricing model, where we're true business partners with our clients. View a case study about how this approach increased ROI 500% in one year for Esscentual Brands.


Getting results

  • Viack

    VIACK, a Scottsdale-based leading provider of secure online meeting software had success with search engine optimization and pay-per-click programs driving traffic to their FREE 15-day "test drive" Web page, but had little success getting people to sign up.

    View this case study »


PPC Calculator

Options

change to dark background change to light background