Ruby on Rails

No Comments
07 Nov

If you’re like me and make web sites for a living (or as a hobby), then you’ve probably heard a lot of buzz around Ruby on Rails, which is a new web development framework that’s starting to gain a lot of traction amongst web developers. Ruby on Rails follows a model-view-controller (MVC) design pattern, which basically forces you to use good development practices. So over the weekend, I decided to give it a try and see what all the hype was all about.

The web application I wanted to build: I have two roommates, and we needed a way to keep track of expenses in the apartment (such as rent, cable, utilities, misc bills). So I used this opportunity to build just that. The requirements are pretty simple: keep track of total expenses, keep track of who paid what, and keep track of who owes how much.

All in all, it took me probably about 5 to 6 hours to implement something basic that met my requirements. Mind you, this is starting from scratch. I didn’t know anything about Ruby on Rails before this (other than the fact that it existed), so I think that is pretty good. If I were to do it again, it would probably take half as long or maybe even a third. And if I were to do this straight up in PHP, which I am very familiar with, it would probably still take me about the same amount of time. The real time saver with Ruby on Rails is that it does a lot of the heavy lifting for you, which leaves you time to think about more important things like workflows and business logics.

Some things I like:

  • Easy to get something up and running fast. The expenses tracking table literally took me 10 minutes to create.
  • Intuitive. I was able to guess my way around for about 85% of the time, I didn’t need to look things up very often…
  • … which lead to a few wow, that is cool moments
  • Produces clean code. Unlike almost every other web application I’ve seen, which is usually some sort of ugly mishmash of PHP, HTML, and SQL
  • Refreshing to work with. Not having to worry about CRUD database operations is really nice. This is a real time saver.

Some things I don’t like:

  • Speed. It takes a while to load, tho this could be because of a configuration problem on my host (Dreamhost).
  • Documentation is a bit lacking. The online video tutorials helped a lot, but I spent a lot of time chasing my tail over one or two seemingly minor issues. Stuff like, “how do I sum the total payments for a roommate?”, which is slightly more complex logic
  • DNS issues with the database. This really isn’t a problem with Ruby on Rails. I put this down because I almost went nuts trying to figure out I couldn’t connect to the database.
  • Doing tech support for my other WordPress plugins. Ugh, why can’t I just write perfect code?
  • Not much else…

As you can probably see, I can’t really find anything bad about Ruby on Rails after working with it for a day or so. It really is a great web development framework to work with. Give it a try. There is a great online video tutorial which demonstrates how to create a basic publishing system in just 15 minutes.

So now that I have some idea of how to use Ruby on Rails, all I have to do is find some Web 2.0 business plan, combine that with AJAX, web services APIs, and maybe some tagging, and I’m good to go :)

PS: Wholly Yours by David Crowder is awesome.

Posted on Monday, Nov 7th 2005 at 10:12 pm

No comments

Leave a comment