Herding Code 105: Brad Wilson on MVC 3

In this episode of Herding Code, the guys talk to ASP.NET team member and repeat guest Brad Wilson about what’s new in ASP.NET MVC 3, BDD-style testing with SpecFlow and WaitN, and the latest release of xUnit.net.

  • Jon begins the show by sharing Brad’s bio and then dives right in asking about ASP.NET MVC 3 Service Location.  Brad talks about DI and IoC, introduces the new feature and the implementation through such things as IDependencyResolver and Controller Activator. For the full story, you should check out Brad’s eleven part series on ASP.NET MVC 3 Service Location.
  • Scott K asks why the MVC team didn’t use MEF for dependency injection. Brad comments and brings up the prospect of using NuGet to install MEF support.
  • Scott K asks if MVC could ship as a NuGet package. The conversation shifts to how NuGet could allow MVC to further decouple it’s shipping schedule from that of Visual Studio and the .NET Framework.
  • Everyone (Well, almost everyone. Kevin’s being surprisingly quiet.) talks about jQuery plugins in the NuGet feed and how maintaining obsolete packages could get out of hand.
  • Jon asks about how the jQuery based unobtrusive validation system works in MVC 3 and asks if the ASP.NET Web Forms validation system could possibly take advantage of the new unobtrusive validation support.
  • Brad talks about the ASP.NET MVC development team and his role in developing ASP.NET MVC 3.
  • Jon runs through the big features which were shipped with MVC 3 – Razor, Service Location, NuGet, Unobtrusive Validation. Scott K mentions default templates are now using HTML5 doc types and Brad notes other MVC 3 features like Unobtrusive Ajax, Remote Validator, Json Model and Binding support.
  • Brad talks about extensibility for view engines in project templates and the new add view dialogue features.
  • Via Twitter, @gsogol asks if we will ever see fluent type configurations of filters, validations for controllers and classes.
  • Jon brings up the MVC 3 Futures library and asks Brad if it includes features which he wishes were rolled into the core MVC 3 bits. Brad explains the performance benefits of using the caching version of the model metadata provider system in the Futures library.
  • K Scott asks about feature requests for Display and Editor Templates and the guys talk about code based templates.
  • Jon talks about his favorable experience with Razor and mentions there’s a web form to razor converter available.
  • @gsogol asks if the ASP.NET MVC team looks at other MVC frameworks to "borrow" various ideas for a more productive experience.
  • The guys talk about Razor Web Helpers like Web.Grid, Web.Crypto and Web.Mail which are baked into System.Web compared to the Microsoft Web Helpers which include social media helpers for Twitter and Facebook and video embedding.
  • The guys talk about the bundle of awesomeness which MS released with WebMatrix, SQL Compact and IIS Express.
  • The guys discuss what MVC3 offers to make testing easier and how one might unit test their JavaScript.
  • Brad talks about his love for BDD-style testing with SpecFlow, he explains the Given-When-Then syntax and how TDD and high-level spec testing complement each other. Brad mentions he would likely make the Web Steps he shared at Agile Conference 2010 available online soon.
  • Brad talks about MVC3 support in xUnit 1.7 and explains how xUnit compares to other test frameworks.
  • The conversation shifts to Swedish death metal and the guys totally nerding out about diet and fitness.
  • Brad pimps his Advanced ASP.NET MVC 3 talk at MvcConf 2 (video now on demand), teases us about his What’s New in MVC 3 talk given at the P&P submit and mentions his January talk for the .NET Developers Association about, you guessed it, ASP.NET MVC 3.

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 105: Brad Wilson on MVC 3