ALTERthought Blogs

27 June 2007

Ruby on Rails as a Platform of Choice? The Case for Rails.

I’ll preface this post, by stating there are people infinitely more qualified in our company to discuss the technical merits of Ruby on Rails (RoR) as a framework choice. I write this post from the various perspectives of the “president,” “idea guy,” the sometimes “project manager,” and the “unresponsive stakeholder.”

There is much hullabaloo about RoR being the best thing to hit software development since the compiler (for the techies, the pun was not intended, but I’ll take it). While it may be something less revolutionary than compiler innovation, one thing is for sure RoR is currently — and promises to continue being — a Disruptive Technology.

So, Why Rails ?


From our first hand experience, these are some reasons why Rails should or could be your platform of choice.

This post is decidedly one-sided, I’ll explore why *not* to choose Rails in my next post.

There are a number of assumptions behind the reasons I am about to enumerate for choosing RoR. While we’ll save the play book for setting up a project team for other posts, I will say that a major assumption here is the quality of your team. That established, if you do assume a strong team while using development framework ‘A’ versus development framework ‘B,’ the benefits of Rails are as follows:

$$$$$ -You get stuff sooner. Its that simple. As a stakeholder, I’ve seen Rails teams turn features around in ½ the time as it would have taken them to do it using J2EE or .NET (see this post for a little comparison on development speed)

$$$ -You get more stuff sooner. Not only do you get your agreed upon set of features faster, but also you can expect to get incremental improvements and non-trivial enhancements sooner than using other platforms.

$$$ -You get to see stuff sooner. The underlying technology allows development teams to show business stakeholders features and changes in a much more expedient fashion (literally while looking over the developer’s shoulder). This makes the requirement clarification and refinement process much more real-time and iterative (read: Agile Manifesto-friendly).

$$ -You get goodies that come along for the ride. Rails is chock full of helpful technology that allows you, the business stakeholder, to present web applications that have really rich user interfaces. You’re able to present these rich interfaces to your user community without having to ask your team to undertake science projects (read: expensive) to get the equivalent functionality on other frameworks.

$$$ -It plays nicely with others. REST (pun intended) assured, with Rails as your platform choice, you’re able to integrate with other technologies. Rails is not only open source, but it strives valiantly to facilitate integration with data and other applications. These features of the framework come out-of-the box and are native to the thinking behind the development of Rails.

$$$ -Its Open. Like JBoss (J2EE Container) Rails is an open source project which means you don’t have to pay a nickel to use it. It also runs on things you can get free; like Linux.

$$$ -There is a fever. Similar to the manner in which Java ascended as a choice of web and enterprise development, Rails has zealots. The community that has sprung up around Rails is breathtaking. While this is an unscientific statement, it does seem that we are seeing the type of fervor, support, and evangelism that benefited Linus Torvalds’ Linux; and we all know, how that turned out.

Next up – The case against Rails …

Technorati Tags: , , , , , ,

Post to Twitter Post to Delicious Post to Digg Post to Reddit

Comments are locked.

Jeremy Weiland says:

I definitely agree with much of what you wrote here, and one of the things that the Rails community really needs is an ability to articulate the business advantages of Rails development to enterprise. From what I hear, RailsConf 2007 was very much oriented towards starting the process of addressing enterprise’s concerns, which is refreshing after such a long stint of “well, we don’t want to do what J2EE does anyway“.

One thing to keep in mind is that at it’s core, Rails is designed to facilitate the “typical” web application. It provides tools that make this easy, and to the extent that your business model incorporates features that other web apps frequently employ, it can in fact result in you rolling out faster to market. On the other hand, to the extent that you are trying to do something different, new, unique, original, out of the box, etc. Rails is not necessarily going to be any more or less efficient. A lot of the “convention over configuration” stuff starts to break down when you aren’t following the convention.

But there’s one thing that we’re leaving out here: Rails is a fine framework, and deserves all the credit it gets, but the star of the show in this programmer’s opinion is Ruby. It is the expressiveness of Ruby that allows something like Rails to exist. A good Ruby programmer can use Rails to break out of the convention while still maintaining much of the advantages of using the Rails framework, while a poor Ruby programmer would get hung-up on shoehorning an unconventional Rails app into a conventional Rails framework.

Getting excited about Rails is the first step, and the natural one for the business community. But recognizing the advantages of Ruby is the next step, not only because it is the “philosopher’s stone” of Rails, but also because Ruby is applicable to other domains: desktop apps, utility scripts, etc. Occupying that sweet spot between a scripting and an OO language, while maintaining an expressive, flexible syntax, yields business efficiencies and possibilities that perhaps have not even been identified yet.

Rails is awesome, but as a developer I’m excited about Ruby, too! Sunjay, I hope you’ll consider attending Ruby Hoedown in Raleigh this summer! I’d love to see your reaction to some of the non-Rails applications of Ruby which this conference promises to present.

lordes says:

Jeremy,
great points – especially about the rebelious Rails squad and their “anti J2EE” message .. that will need to be modified for Rails to make the headway it needs to succeed in the enteprise.

ALTERthought Blogs » Blasphemy: The Case Against Ruby on Rails says:

[...] In our last post I fawned over Ruby on Rails (RoR) like a schoolboy smitten by the new girl (let’s call her Ruby) at school. So, like the schoolboy’s heart wrenching realization that he mistook Ruby’s “hello, world” smile for a tender “will – you – be – my – boyfriend” countenance, I present a handful of potential RoR letdowns. [...]

ALTERthought Blogs » Go-Railers in the Midst … says:

[...] Ruby on Rails as a Platform of Choice? The Case for Rails: examines why a business person *should* evangelize Rails as his or her chosen platform Revenue on Ruby on Rails: examines our quantitative observations about productivity using the Rails framework [...]

buy overnight online soma says:

online buy income soma buy online soma income

GSIY … Ruby-Rails Portal says:

[...] In our last post I fawned over Ruby on Rails (RoR) like a schoolboy smitten by the new girl (let’s call her Ruby) at school. So, like the schoolboy’s heart wrenching realization that he mistook Ruby’s “hello, world” smile for a tender “will – you – be – my – boyfriend” countenance, I present a handful of potential RoR letdowns. [...]

GSIY … Ruby-Rails Portal says:

[...] Ruby on Rails as a Platform of Choice? The Case for Rails: examines why a business person *should* evangelize Rails as his or her chosen platform Revenue on Ruby on Rails: examines our quantitative observations about productivity using the Rails framework [...]