ASP.NET MVC How I Love Thee

So far, I am in love with ASP.NET MVC.  Let’s just hope this doesn’t turn out like my love affair with other potentially fleeting items, like the great Seattle snow storm of December 2008.  I think my Facebook update on that one was:

FacebookStatus1After throwing my hands up in disgust yesterday, while trying to do a simple thing like put some data in a database, get it out, and display it arbitrarily on a page, I got a note from a friend who really urged me to check out the MVC beta that Microsoft had put out.  The download was easy enough, and once I had that done, I wandered over to tutorials on ASP.net to see what all the fuss was about.  Remember, MVC is how my mind thinks about building web apps, so this was a welcome starting point.

SampleMVC First off, the default project code is quite cumbersome.  There’s a ton of files that get created, which I am sure are great to get started, but without context, they are a bit overwhelming.  Remember, I am approaching this as someone who quite literally has no idea what is going on.

However, if you take a closer look at what they have included, you will see that there was some care given to the functionality that comes to your right out of the box.

The application itself doesn’t do much, but it does have user account functionality built in for you.  For most people building applications, they are going to want to have the ability to create user accounts.  More importantly, if you did into the code, what you see is that the user accounts was implemented without using the asp:login controls.  Trust me, you are very happy about this.  The login page uses tables, instead of CSS (my good friend, the UI Guru, always makes such a big deal of table-less UI), so no points for style.  You get it…style…style sheets?  Anyone?

Another bonus was that they had the good sense to throw in the JQuery JavaScript files.  I don’t know JS, but from reading enough headlines at Hacker News, I know JQuery is what you want.  Eventually I will get around to learning some JS goodness, but I suspect that will come after a very turbulent affair with CSS.

After watching that short video on how to build a task list, I felt like I had all the information I needed to get started building the My3Words app.  Sure enough, within a much shorter period of time, I had a working prototype which allowed me to input usernames, and words, and that data routed into the database, and was able to display that data on an arbitrary page.  I cannot tell you how happy that made me.

So there you have it.  If you, like me, have done some MVC development (even a teeny tiny bit), I am pretty confident you are going to find this set of Microsoft technologies much easier around which to wrap your brain.  The next post will have the walk through of my building some base functionality of the My3Words app.