I have had several moments in my career where I was near a point of just simply giving up on MS and joining the "other side". I remember the time few months before .Net 1.0 was released. Java camp was leading the development world with innovations, while MS kept trying to persuade us that VB/COM was the way to go. At that time I even joined the Java team at my company almost entirely making a switch.
Then I was given an opportunity to review technologies for complete replacement of one of the ASP sites, project I was assigned to lead. I evaluated obviously ASP, JSP, and soon to be released ASP.Net (learning C# at the same time). And the thing that stroked me then was: "My God, sleeping giant has awaken!" There was no question in my mind that C#/.Net was not a mere Java clone, but a well thought of framework and language that went one step further. In addition there was nothing like ASP.NET available on the market.
We started on the project the week .Net was released. Completed it month ahead of schedule. I stayed in MS camp.
Another moment was just recently. For any of you that read my blog you will know that I am really big fan of the Agile process and specifically Test Driven Development. One of the problems with the TDD is being able to write/define tests/behaviors throughout your code including all layers of the application. And we all know that sometimes UI code can prove virtually untestable. That is where flavors of MVC/MVP patterns come in. They help us solve that problem.
MVC being doable in windows forms (using IoC, and frameworks like CAB), it was nearly impossible to accomplish it in the ASP.NET web development.
That is when I saw my first demo of Ruby on Rails. Everything that was missing, or done wrong in ASP.NET was implemented right in Ruby. No huge configuration files, XML that "generates", code, source code versioning and schema migration are coordinated. Schema is defined in one place only. OR Mapping and the ActiveRecord pattern implemented flawlessly. Ruby uses a true MVC implementation. And it is all easy to learn and implement. And productivity gained in developing, maintaining, migrating/updating, deploying these web apps is enormous.
These concepts have been around for a few years. Loads of Java folks and already some of the .Net folks are moving into Rails development. Yet Microsoft stayed quiet about this, having virtually none of these features in upcoming VS2008.
And right about time I am truly about to give up on MS altogether, I read this post from Jeffrey Palermo about an announcement of the MVC framework Scott Guthrie and his team are working on to be released as an add-on to the VS 2008. Here are the goals of that project:
· Natively support TDD model for controllers.
· Provide ASPX (without viewstate or postbacks) as a view engine
· Provide a hook for other view engines from MonoRail, etc.
· Support IoC containers for controller creation and DI on the controllers
· Provide complete control over URLs and navigation
· Be pluggable throughout
· Separation of concerns
· Integrate nicely within ASP.NET
· Support static as well as dynamic languages
Folks familiar with MonoRail might say that there is all that built in the MonoRail project and lot more (ActiveRecord, Windsor, etc), and I agree with that. But having all this come from Microsoft (with all of the visibility that comes with it), can only be a good thing. I applaud Scott and his team - this is what I and bunch of the folks I know have been waiting for. And yes, I think I will stay in MS camp for a while now.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5