Why Ruby on Rails in not only for Ruby on Rails Developers?!

Discover why Ruby on Rails matters beyond Ruby developers. Explore how Rails revolutionized web development with better structure and culture than traditional frameworks.

4 min read 688 words

If you have ever been involved in web development, then you must know the history of it. Once upon a time there was something called CGI. And at that moment there were static HTML pages.

Only a few parts of the page were dynamic. Then things changed, ASP came. Server access became so normal and easy. But still there was a lot more work to do. And the main issue with them was that code was not arranged and the coding style was not suitable for big projects.

One can create dirty few pages but creating a sophisticated big project is almost impossible. The same is true with other languages too. Languages like PHP, JSP etc.

At that moment, something called Ruby on Rails was born. It was extracted from Basecamp. And then it took the world by storm. Even today it is so popular.

I am a proper Microsoft Developer. And I know ASP.Net MVC (at least my Resume says so.). I never felt I should learn anything other than MVC. It is good, better than Web Forms (at least for me). And I know how to do data in and data out.

What else could be needed???

The answer is many things. My views were hammered by Rob Conery with one of his videos at NDC. Then I thought there is no harm in learning something new.

First I started with the MVC thing. What does it claim to solve? It provides Separation of Concern in your code. But in any framework it is not strictly imposed. Especially in ASP.Net MVC. That means there is no proper guideline on how things should be. And you can find a hell lot of opinions on that. I don't mind any of them but one thing I mind is that culture is missing there. Culture that provides a starting point. For the new user it will be damn tough to start things.

If I give an example, in Ruby On Rails things with seven operations will stay in one controller but in MVC I can do more than that. I can put every JSON operation in one controller. One may argue that it is an issue on my side but I will say it is an issue on our culture side. No one is forcing me to do the right things first. Obviously I need freedom to do things my way but first I like to learn the right way of doing things.

Even though there are many copies of ROR, the culture is not copied properly. And that creates issues sometimes. And that even does not allow us to reap the benefits of using MVC. So, it will be like I am creating a controller and writing code in View. Or the model is there but I still don't know why?

Or I can say I don't know how many models are there??? My MVC then became (M^n)VC. And then all that mapping and stuff.

Am I using MVC to make things easy for me or to make things even worse for me? This question always bugged me till I learned (I am still nowhere near a good user of ROR) ROR. That helped me a lot to culture my MVC code. At the end of the day ROR is the father of all the MVC frameworks out there.

You take it .Net, Java, Node or even sucky PHP every damn technology has their version of Rails. If you have that much from Rails, then there is no need to shy away from learning it.

I learned from Tekpub, you can also try it. Or you can try Peepcode too. Both are quite good at teaching, especially Rails.

I am still a .Net developer, at least as of now, but still it clears out many things. And with that it is also true that Rails is not a silver bullet. If you are creating a back-end architecture to provide a service you can try out different things. Even though the Rails way works, still you are not bound by it.

But learning is not optional, I guess. If anyone is related to web development, they must learn or at least give it a shot with Ruby on Rails.

Frequently Asked Questions

What is Ruby on Rails and why is it different from other web frameworks?

Ruby on Rails is a web development framework extracted from Basecamp that revolutionized web development by enforcing strong conventions and culture, unlike frameworks such as ASP.NET MVC. While other frameworks provide flexibility in how you structure code, Rails strictly guides developers on the right way to organize their applications, making it easier for new developers to start building projects without making architectural mistakes.

How does Ruby on Rails enforce better code organization compared to ASP.NET MVC?

Rails enforces strict conventions through its culture and framework design. For example, Rails dictates that seven operations should stay in one controller, whereas ASP.NET MVC allows developers to organize code in multiple ways. This enforced structure eliminates decision paralysis and prevents common issues like dumping JSON operations into single controllers or creating models without clear purpose.

Why should non-Ruby developers learn Ruby on Rails?

Ruby on Rails teaches valuable architectural principles and best practices that transcend the Ruby language itself. By learning Rails, developers from other backgrounds like .NET can understand proper separation of concerns, MVC implementation, and coding culture—improving how they approach web development regardless of their primary programming language.

What problems do developers face when MVC frameworks lack proper culture and guidelines?

Without enforced conventions, developers can misuse MVC by putting logic in views, creating unnecessarily complex models, or failing to understand the purpose of each component. This leads to poor code organization, reduced maintainability, and developers being unable to fully benefit from the MVC pattern they're supposedly using.

Share this article