I was going to write a review on a great book I read over the last month or two called Professional ASP.NET MVC 1.0 which is published by Wrox and written collaboratively by Scott Hanselman, Scott Guthrie, Phil Haack and Rob Conery. Then I decided that one of the main things I really liked about the book was the first chapter “NerdDinner” which is a great tutorial on ASP.NET MVC 1.0.
I will first of all prefix this review with the very relevant disclaimer that I am (at this moment) a novice when it comes to MVC, which my background strongly in Classic ASP and PHP. I have a fair understanding and beginners comprehension of a lot of the core elements – but I’m still almost always looking up answers to very simple and run-of-the-mill problems.
The chapter is available online, free of charge, from ScottGu’s blog and the entire project has been added to version control at NerdDinner @ Codeplex (a useful tool when typing large amounts of text!).
The chapter covers a number of topics in addition to the core functionality of MVC, this includes things such as LINQ, Unit Testing, AJAX, Memberships & Roles and mapping software. Starting off with an empty Visual Studio, you can have a fully working NerdDinner website within an afternoons worth of work (or if you are me, a couple of nights worth).
I would highly recommend making some time to do this chapter if you are a ASP.NET developer. It will help show you the benefits and disadvantages of MVC. However, there are a few pitfalls as you are progressing through the chapter and I feel that the testing of the chapter could have been improved as there were errors and omissions scattered around as I was trying to complete it. There weren’t lots and errors were mostly ones which could be guessed and fixed without too much stress. Even in instances where you are unable to find the mistake, a look through the CodePlex site would give you a good indication as to what you were doing wrong.
I found the most frequent errors were that of ensuring the using statements were made, or a variable named differently on one page to the pages preceding. It takes me back to the good ol’ days of copying BASIC code from the back of computer magazines to make a spider walk across the screen and go up on a string from its web. Ahh, that’s classy stuff.
The book and the chapter do a great job of letting you know the key advantages and disadvantages of using MVC, outlining some of the core differences and changes to the ways in which applications are designed/developed. I particularly liked the way the application was grown and improved, simulating actual software development. Instead of the application being coded to the full application, it is initially built very basic and as the chapter goes on, layers of complexity are added bit by bit. This served for a greater understanding of how you might approach such development.
Overall, it’s one of my favourite and relevant tutorials and I highly advise finding the time to have a go at it. I’d also go so far as to say it’s very much worth spending the pennies and getting yourself a copy of the book too. It’s even sticks to the age old tradition of having funny pictures of developers on the cover and that alone is worth the dosh!