I’ve decided to get into Windows programming so I can scratch some itches for my day job.
Last week I attended a four day course put on by LearningTree in Toronto. The course’s official name is: Building Web Applications with ASP.NET MVC: Hands-On. Click on the name and you can go to the LearningTree course page.
First off, as a Ruby on Rails developer, I’m quite familiar with the MVC programming model and I was hoping to port my skills over to the Microsoft MVC framework. This course definately helped but I felt that it scratched the surface of what is possible with ASP.NET MVC.
If I took one thing away from this course, it is that I have a much greater admiration for the Ruby on Rails programming framework. It’s not that ASP.NET MVC is bad, in fact it is quite good, but there are some rough edges that Rails smooths out that I didn’t even know were rough edges in the first place.
But I was tasked to integrate a website into a Windows environment so ASP.net is what I’m going to use.
This course was taught by Peter Vogel and he was quite knowledgeable about Microsoft programming. Peter is a bit of an eccentric, as can be seen by his fancy beard, but he was quite personable and could answer any questions I threw at him. As a side note, the picture on his website is OLD and kind of hilarious.
The curriculum is about what you would expect. Obviously Models, Views and Controllers are covered. Routing and Test Driven Development are touched upon but not in very good detail. It seems like the surface was scratched for each item and then we continued to a new topic.
Peter did have some good sidebars and would answer any question I had. He mentioned the possibility of creating a Data Transfer Object (DTO) as a way of updating multiple Models at once. He did not go into detail though, so this is on my list of things to investigate.
One thing that I thought was great was that Test Driven Development (TDD) was covered. It was taught on the third or fourth day but it was still taught. It was assumed that the models were already provided before you start programming. That might be true in a large shop but for me, it definately will not ever be the case. It was suggested that you test your models and controllers, but only the controllers were tested in the TDD section. I think a full day on TDD would have been beneficial but again, it was a four day course and I can’t expect the world.
Overall, I think Course 977: ASP.net MVC was an excellent and thorough course for someone that has not had any exposure to MVC in the past and is looking to get into it. I love the concept of MVC and this course provides the tools for you to get on your feet and make a basic application. Just be prepared to do a bunch more reading to create anything worthwhile. I’m prepard to do this reading and hopefully I can provide some more insite to the ASP.net MVC framework in the future.