A Visual History Of The Usefulness Of Ruby On Rails

Everyone seems to know about the benefit of MVC frameworks in web development these days. It’s no secret that there is a lot of power in this stuff, and it’s largely due to the popularity of Ruby on Rails that we are now seeing MVC web frameworks everywhere.

However, Rails seems to be losing it’s “rails” in my opinion. Now that’s an obvious overstatement when we start picking it apart and discussing it (as done in that podcast). There’s still some truth to be gleaned from it, though.

So, in order to help myself and maybe a few others understand what I’m getting at a little more, I wanted to show a brief, visual history of the usefulness of Ruby on Rails, as I see it (having worked with and still supporting Rails apps in v1.x, v2.x and v3.0.x).

Rails 1: A Great Start. A Lot Of Manual Work

3760098528 efbea17252

(Photo from http://www.flickr.com/photos/tonythemisfit/3760098528/sizes/m/in/photostream/)

Rails 2: The Most Really Useful Engine

6202 Thomas Friends Best Friends lg

(Thomas & Friends – my kids’ favorite tv show)

Rails 3: Which Rail Do You Want To Take?

3126085212 487bbf0fa6

(Photo from http://www.flickr.com/photos/sonnycohen/3126085212/sizes/m/in/photostream/)

Rails 3.1: Some Assembly Required?

5512183307 b9788e211a

(Photo from http://www.flickr.com/photos/steveinleighton/5512183307/sizes/m/in/photostream/)

I have yet to hear “WOW! that was SO EASY!” out of anyone, regarding Rails 3.1 and the Asset Pipeline. Instead, I continue to hear more and more complaints about how difficult it is to make it work; how much work it takes to get it running, and how people are frustrated by Rails now, more than ever … and don’t even ask about the pipeline and coffeescript in a Windows environment… This all makes me very wary about upgrading or even starting a new Rails 3.1 project.

I hope they fix whatever the problem is, soon, and get Rails back on it’s rails. It’s sad to see things in this state.

Oversimplified Opinions, Again

I still think Ruby on Rails is tremendously powerful and useful. It’s not, however, easy to pick up and get going from nothing anymore. I hear more and more people complaining, every day, about how hard it is to learn and to get it working – especially in Windows. Looking at the history of Rails, though, I saw so much of the opposite. When we look back at Rails 2, especially, there were so many people that ditched other web development platforms because they saw the simplicity and elegance of the rails that Ruby on Rails 2.x provided.

So, I ask again: has rails lost it’s rails?

About Derick Bailey

Derick Bailey is an entrepreneur, problem solver (and creator? :P ), software developer, screecaster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs SignalLeaf.com - the amazingly awesome podcast audio hosting service that everyone should be using, and WatchMeCode.net where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90's, and has been writing code since the late 80's. Find me on twitter: @derickbailey, @mutedsolutions, @backbonejsclass Find me on the web: SignalLeaf, WatchMeCode, Kendo UI blog, MarionetteJS, My Github profile, On Google+.
This entry was posted in Rails. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • gotta say, I love the asset pipeline… makes managing “static” assets SO EASY. ;-)

    I really do find it intuitive. Where do people fall down with it?

    • you are officially the first person I’ve heard say that. i’m not sure about the specifics of where people fall down with it, but i hear a lot of complaints about having to search google to figure it out as the documentation is terrible. from there, it usually goes into other complains about it in general.

  • Justin

    I personally didn’t find the Asset Pipeline too onerous, and I think the upgrade process is a joy and a wonder compared to the torture of moving an app from Rails 1.1 to 1.2, or from 1.2 to 2.0 for that matter.

    Rails 3 really is a miracle, I find myself surprised by its elegance and the amazing community that has grown along with it everyday.  Rails 3.1 may need some refinement, but honestly I think its baby steps towards where we will be 5 years from now, which is a hybrid javascript, Ruby, who knows what else environment.  We are going to have to bite the bullet eventually, Rails 3.1 is a good first step.

    • i have a hard enough time doing minor upgrades in the 3.0.x series, keeping all of the dependencies working, too :( the prospect of upgrading to 3.1 makes me cringe.

      i suspect you’re right about the future of web development, though. it may not be ruby and rails, but it will most likely be something along the path that rails is currently building. 

      thanks for the note, too. it’s good to see people saying they are having good experiences with 3.1

  • I’m another one who finds the asset pipeline pretty straightforward. There are a few rough edges (e.g. Compass, and ensuring your environment settings are appropriate) but once you know where they are, it’s not tricky at all. I’m finding that it just works.

    It’s important to organise your script code into namespaces but that’s no different than pre 3.1.

    • i have no doubt that it works once you get it configured. but my definition of “it just works” does not include “once you get it configured”. 

      where’s the “rails new myapp”, “WOW! it just works!”? that’s what i want. zero config, out of the box, stand up a new app and 10 seconds later, “it just works!”

      every report of “i don’t have any problems with it” that i hear is qualified with “once you get it configured”… and that misses the point of “it just works”, completely.

  • Russell Garner

    +1 for the “it’s perfectly fine” here.  Although yes, there was a short (half hour) learning curve because I named a file application.scss.css (and rails doesn’t like that as that’s the target for the consolidated CSS).  But otherwise, this gave me fewer problems than going from mySQL to Postgres for Heroku.

    EDIT: Although I take your point about “it just working” the benefit I’ve got out of it has been unreal – primarily because I don’t need to think about how SCSS works, sprockets just makes it work.