The Rise (And Fall?) of Ruby on Rails
A large part of Ruby’s popularity is the ‘ready-out-of-the-box’ Ruby on Rails framework. As I spoke to more developers and scoured the internet to expand my Rails knowledge I was interested to discover it was a contentious framework. My interest piqued, I wanted to get to the bottom of what it was that was attracting or deterring both developers and businesses alike.
As usual when I am tasked with something new, I go straight to Google! So, I begin reading that from its formation in 1995, Ruby grew to become a mainstream language. It was cool and modern and its Ruby on Rails framework, created in 2003, got a lot of attention.
It wasn’t all good news though. In 2011, Twitter made a huge announcement that it would shift away from Rails – a big call for what was thought to be the largest Ruby on Rails platform in the world. This was the trigger for Rails’ downturn - a lot of bad press with keyboard ninjas claiming Ruby wasn’t as mature as Java or PHP, not as performant as .NET, nor as reliable, and the list goes on.
For me reading this, instant panic struck. I know we have customers who prize Ruby as one of the best and most robust languages and still use Ruby on Rails. So, was Twitter on to something or is it a worthwhile framework?
I began reading and was not put at ease: “Rails is all magic, you can’t figure anything out and people who use it don’t *really* know how to use it”. It seems that while Rails is an easy-to-use ‘prototype builder’, your average Rails Dev will hit a ceiling quickly in their ability to solve framework-related problems. Understandably, unless you’re one of few experienced Senior Rails Devs, no one really does know its intricacies. I can imagine that as a developer, when your capabilities to fix an issue are exhausted quickly and issues remain unresolved, it’s easy to become disgruntled quickly.
On the flip-side, when you are looking for a pragmatic, expressive and easy to use framework, Rails seems to be the go-to amongst the Developers I spoke to. As I continued my search, my fears were eased – surely if huge well-known sites like Github, AirBnb, Hulu and Kickstarter, are all built in Ruby on Rails, it can’t be that bad?
“Ruby on Rails was never marketed as a performance-first framework, it was marketed as a framework you chose when you wanted to get shit done and as quickly as possible. There is no denying that Rails delivered on that promise.” – Dwayne, ilikekillnerds.com
Unsurprisingly, there is no on-size-fits all when it comes to frameworks. Twitter moved away from Rails for scalability and performance reasons, but this is far from declaring it an obsolete framework. Realistically, in 2011, Twitter was trying to accommodate and serve around 500million users (a good problem to have!) but one which was no longer a good fit for Rails. Realistically, how many companies face this issue? The underlying Ruby on Rails app had served Twitter up to a point – not bad for a so-called “prototype builder”. Twitter are also on record as saying it was as much a general bloat issue as it was Rails crumbling under the pressure.
So while the trends undeniably go up and down – check these Search Trends since 2004, ultimately the right choice is to consider what framework is fit for your purpose.
On a side note, since starting to work on Ruby Campaigns, I’ve spoken to a few developers who are giving back to the Ruby community. They do this by giving up some of their spare time to teach aspiring developers Ruby. Rails Girls London provide this amazing community and opportunity for women already into Ruby and women who want to get into Ruby to get together.
The next Rails Girls London workshop is in December which I have already signed up for and hope to get one of the coveted spots. It’s a great opportunity to network, meet other women in the field, or ones working their way up! Fortunately, the course is open to everyone, you don’t need any prior experience but if you do have some it will come in handy as you will be paired off according to your experience level!
Hope to see you there!