Stitching the web development pieces together...

Since creating this blog, I have been working on all sorts of things, but none if it was bloggable for one reason or another.  I'm just starting out on a new assignment, and it will be rich with things, learnings, insights, etc. I will want to share with others.  I'm excited.

My new assignment is a website!

Now, it's been a pretty long time since I worked on a website.  A really serious one, anyway.  Technically, it's like starting from ground zero.  The world of website development has changed so much, there is a ton of new stuff to master.

The most exciting new technology I have learned about is the ASP.NET MVC Framework.

I have to be honest and say that, for me, though I got pretty good at it, the Web Forms model of ASP.NET development was never an experience I loved.  I always felt like it was difficult to maintain a cleanly articulated architecture when writing an ASP.NET site.  I think because the programming model encourages one to stuff everything into the X.aspx.cs file, and because websites are such a moving target that they feel temporary anyway, it was easy to let things like a clean architecture fall by the wayside.

To me, there had to be a better way.

And now, along comes ASP.NET MVC!  This is good.  It's the better way.  A website programming framework that fits my way of thinking about web development.  I still have a lot to learn, but I can spot a winner.  ASP.NET MVC is a winner.

The major benefits of ASP.NET MVC are obvious to anyone who's been there, done that.

One of the major benefits of ASP.NET MVC is that it allows for TDD (Test Driven Development) because it models a clean separation of the layers of a web application.  (I am a recent devotee of TDD.  I will never develop anything without it again.)

Another major benefit of ASP.NET MVC is that larger teams (ahem, more than one person), can divide the areas of a website up, and work on them independently, using interface contracts at the seams.  (Have you ever had to deal with merge conflicts in a single check-in involving HTML, code-behind C#, and client JavaScript, at the same time?  I have.  It made me want to rent a gun and buy a bullet...)

Some of my readings:

ASP.NET Site
ScottGu
ScottGu
Scott Hanselman
ASP.NET MVC Forum
SingingEels

If you haven't looked into ASP.NET MVC, it's time to start thinking about it.  It's not a perfect solution for every website project (simple LOB applications come to mind, traditional ASP.NET seems to shine there), but, it is an awesome framework for building sites that scale in N dimensions.

Best,

Brian