Framework VS Platform
To me, the difference between Ruby on Rails and ASP.NET is simple. It’s not the language or tools, not OS or database, no. One is a framework and the other is a platform. Let me explain.
ASP.NET doesn’t enforce anything on you. It doesn’t follow an “conventions”, it doesn’t suggest anything, you don’t even have to postback to the same page any more. I remember being very happy about this last one when ASP.NET 2.0 came out and in the end I never actually used cross page postbacks. No, in ASP.NET, just like in PHP or good old ASP (I mean, bloody horror, poke my eyes out ASP) you are free to wonder around and do anything you wish. And wonder around I did.
Every new web site in ASP.NET you have to decide where things go. How this is going talk to that? Should I keep everything in App_Code? Where do I keep my controls? Do I use DataSets? There are no real conventions, no guidelines. Most of these things are pure semantics, but their lose nature makes one web site completely different from another.
This is why I believe ASP.NET is merely a platform. It doesn’t help you build a web site, it simply allows you to.
And this is the reason why I like Ruby on Rails so much. Rails give you serious, hard guides line for most of the things that you need during web development. Rails insist on doing things its way. If you don’t want, you can do it your way, but if you just let Rails help you, things will be much easier. While Rails might take away some of the freedoms of ASP.NET development, I don’t see it as a bad thing as most of the time those freedoms only make things difficult.
What really sells Rails to me is it modularity which allows people to write plugins which can extend even the most core parts of the framework. This is inherent to Ruby itself and Rails takes full advantage of it. There are tons of plugins out there which can bring all kinds of functionality and make it literally part of “out of the box” experience.
In short, people can easily extend the framework with extra functionality without having to worry if it’s going to integrate well into said framework.
One comments so far...
Leave a Reply