Agile Web Development with Rails – Chapter 1

As I mentioned previously, I’m starting to dig into the Ruby language for its elegance and the Rails framework in search of better, more efficient ways to develop web applications.  As part of this learning process, I figured it was essential that I pick up and read Agile Web Development with Rails (PDF edition for me).  I’m going to take some brief notes on each chapter and figured I’d use my blog for storing them.  :)   (To basically act as chapter reviews)

Chapter 1

This is just a basic introduction to the Ruby language and Rails as an MVC framework.  I like the fact that they throw some Ruby code right in your face from the start, because it immediately shows the elegance of the Ruby language and makes you want to start writing code like that now.  The two main concepts that Rails embraces is the DRY principle and “convention over configuration“.  I gave an example of refactoring towards DRY code in a recent post, so I’m not going to elaborate on DRY too much here, because really, it just makes sense.  I’m a huge fan of “convention over configuration” and it’s something that I’ve been practicing more and more in the .NET world.  If nothing else, just a common source tree structure.  Someone I was listening to put it like this. 

“It’s like a big filing cabinet with labels that tell you where to put stuff”.   — ??

I’m really not a fan of XML configuration files.  In fact, I need to get off my tail and replace our growing Windsor XML configuration file with Binsor which uses my new favorite .NET language, Boo (Note to self: start here).  So, I’m very interested to see how this plays out with the Rails framework.

Ajax and RESTful interfaces are briefly mentioned as well, both of which have built-in support in Rails.  Deployment and rollbacks are touted as “easy”, so of course I’m very interested in that as well.  Having built some crazy deployment scenarios by hand using NAnt in the past, I’m looking forward to some of this being “out of the box”.

Maybe one of the best things about Rails framework that already gets a lot of points in my book is that it was harvested from an existing commercial application.  Hopefully by now, most of us know that the best frameworks are extracted from existing, tried and true applications.  I’ve been forced to use “pre-built application frameworks” in the past, and they have been so painful to work with.

Since the title of the book has a focus on agile development, it gives a quick introduction as to why the Rails framework enables a team to be agile.  It seems the core of the reason is that you can really crank out working features and respond to changes very quickly using Rails, which tends to be a fundamental to the success of agile projects.

Oh and they point out how fun writing code is when using Ruby on the Rails framework.  Since I’m already a bit of a geek, I actually enjoy coding most of the time already.  If you see me start drumming on my desk or keyboard, that’s usually a sign that I’m “in the zone” and am actually getting stuff done.  :)

Anyway, the rest of the first chapter is just a brief guideline on how to read the book (I’m assuming one line after another, hehe).

That’s it for now.  Since I have already started some Ruby coding, the appetite is already there to keep digging in more. 

Until next time…

This entry was posted in books, rails, reviews, ruby. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

7 Responses to Agile Web Development with Rails – Chapter 1

  1. mike says:

    If you’re truly a geek (i.e. your job is your hobby) then you’re gonna love this book. You already seem like you have an open mind towards a different platform so you’ll probably eat this stuff up.

    When I first read about the “convention over configuration”, I was reminded of a bunch of different frameworks that had great potential but never allowed me to override the convention when it didn’t quite match what I needed to do. With Rails, you can completely dump the convention if you want. It makes your life slightly more hellish but it’s possible.

    After reading this book, I thought that Rails was awesome. I still think that but now I’m really starting to see the flexibility of Ruby that makes all of this possible. Coding in .Net feels like a punishment now. :)

    Now if only there were some local jobs in Rails! :)

  2. joeyDotNet says:

    Yeah, if you’ve read any of my previous posts over the past year or so, you can tell that I’ve been looking for an alternative to what the .NET platform can offer for quite a while now. Especially vanilla Webforms, which I’m completely separated from at this point. That’s why I like (and heavily use) frameworks like MonoRail right now. But I’m definitely starting to see how the limitations of a static language like C# are kinda preventing a framework with some of the nice features of Rails from being built on top of .NET.

    Funny you mention jobs, ’cause that is very much one of the things I’m curious about. I’m definitely starting to see RoR start-ups and consulting take off.

    What’s your take on the Rails market out there?

  3. mike says:

    I’m just starting to read some of your past posts now. I found the Los Techies blogs through Joe’s posts on BDD so I’m working my way to your blog.

    I’m in Canada and not too willing to move so I’m having a hard time finding Rails jobs. It also means that my adoption of Rails (and Ruby) will be slower since I’m stuck doing it as a side gig for fun. If you’re looking around, seems to have a lot of job listings.

  4. joeyDotNet says:

    Yeah, I’m not too willing to uproot my family at this point either. Luckily I’ve been putting a bug in my team lead’s ear for the past few weeks about us needing to find some Ruby/Rails work (I work for a project-based consulting firm). And he’s actually very open to it, if we can find the work. Apparently, one client last year (before I joined the company) was asking for some Ruby work and no one knew it, so I don’t think we could take the gig.

    So, hopefully, I’ll have a “professional” RoR opportunity relatively soon. Doh! Guess I need to learn it first! :P

    Thanks for the link. Always good to have those kinds of links around.

  5. mike says:

    Well if you need any remote Rails people to work on your next project, let me know! :)

  6. Joe Ocampo says:

    There is always a Church Web Site and other non-profit projects that feel great when you are done..


  7. joeyDotNet says:

    @Mike, sure thing. :)

    Funny you should say that. I serve in the media ministry at our church and I’m currently working on the UI design for v2.0 of our church’s web site (which is currently an old ASP.NET web forms app I built like 3 years ago; boy have I learned a lot since then… :S ). And I’m seriously considering building v2.0 on RoR. So that will probably be my first “real” RoR project.