Why We Picked Rails For Virally

Virally launched a few weeks ago. We’ve already touched on how a key goal for us was to launch as quickly as possible, providing only the most essential features at first. We did this inside 3 weeks despite using an unfamiliar language and framework. How did we do this and what in our right mind possessed us to move away from the warm familiarity of PHP and into the realms of Rails?

Best Tool For The Job?

I’m a PHP developer, I’ve played with other technologies before, but PHP has been my bread and butter for the last five years. Yet we decided to build Virally in Ruby on Rails, why? In my last position we were stuck with PHP (for good reasons) but coming to work at Fruitbowl has given me the freedom to question some of the things I was forced to take for granted before.

I’ll always have a soft spot for PHP, it was the first language I learnt growing up, and it’s certainly possible to build amazing things with it, just look at Wikipedia and Facebook. But is it really the best tool for the job?

A good carpenter can drive in a nail with either a rock or a hammer, but how many carpenters do you see bashing stuff with rocks? Part of what makes a good developer is the ability to choose the tools that work best.

When time is money efficiency is key, and bad tools are going to ruin your efficiency. PHP is a tool and it’s possible to build great things with it, but if there are other tools that let you build those things more efficiently, why not use them? Never mind the haystack in a needle type problems with PHP, its the efficiency that Rails provides that puts it ahead of any PHP framework. In addition to the core framework the quality of the libraries and community around Rails make it a truly awesome tool.

There are plenty of flamewars resources on whether php is any good or not , but I think this blog post by Eevee most accurately and comprehensively points out the flaws in PHP.

Writing Code Is Just A Means To An End

Ruby and Rails aren’t perfect, but what technology ever is? The question is can we build projects more efficiently with them than with PHP? Based on our experience with Virally the answer is a resounding “yes we can”. Rails makes things that were difficult in PHP easy, it gets out of your way, you don’t have to beat it into shape like you so often have to do with PHP and its libraries. It allows you to focus on developing a product rather than writing code, which is ultimately what we’re doing.

What About The Learning Curve?

The main risk to being able to rapidly develop Virally in a Rails was the learning curve that it presented. This was in part mitigated because I had played around with Rails before and the excellent documentation that is available for it. Any remaining delays caused by having to learn Rails were undone by most things just being easier and quicker to do in Rails.

The takeaway for the developers amongst you is play around with other technology whenever you get a spare second. Always be on the look out for better solutions to your problems, at the very least you will gain perspective on the options you already know about.

Ruby Or PHP: The Right Tool For The Right Job

We will certainly be using Ruby on Rails again, but PHP has its place and if a situation presents it self where PHP, or any other technology for that matter, is the better tool we won’t shy away from using it. There may well be a situation where a double claw hammer is the perfect tool for a job!