This week on Herding Code, K Scott leads a conversation with ASP.NET Insider and MVP, Javier Lozano, about his open source project, MVC Turbine, and extensibility and composition with ASP.NET MVC.
- Javier provides a twitter-like overview of his open source project: “MVC Turbine helps you build modular applications on top of ASP.NET MVC and that’s pretty much it.”
- K Scott asks about the advantages of using MVC Turbine to add features to your applications. Javier talks about MVC’s extension points, controller factories, view engines, and “the blade.”
- The guys talk about MVC Turbine’s support for multiple IoC containers and whether or not MVC Turbine is merely “IoC for IoC.” Javier speaks of his design approach and the need to register components on the fly.
- K Scott notes that though ASP.NET MVC has many extensibility points it may not have been built with IoC in mind. Javier talks about the pros and cons of this and how it factored into his design.
- Scott K asks if there are any features Javier would like to implement into his project which he hasn’t been able to address because of limitations with the MVC framework.
- K Scott asks about Action Filters and Inferred Actions. Javier explains. Jon comments on Inferred Actions’ awesomeness and how they really reduce your controller code.
- Scott K asks about Inferred Actions and strongly typed views. Javier talks about how the current implementation effectively serves up static pages without a model but the ideal implementation (which is doable) would provide an inferred models and more.
- Scott K talks about defaulting return types. For example, if request doesn’t include the mime type then default to Json.
- The guys talk about general extensibility in ASP.NET MVC and how various open source applications are addressing concerns.
- K Scott gets back on topic and asks Javier to dig deeper into filters.
- Jon and Javier talk about MEF and how it might play a roll in MVC Turbine. Bingo!
- K Scott notes that MVC Turbine is hosted on Codeplex and asks how it’s going? Javier notes the source code is now hosted at GitHub, and Jon asks if recent Codeplex support for Mercurial might lure Javier back to Codeplex. The guys talk/joke about version control systems.
- The guys talk Visual Studio 2010 versions and games of yesterday.
- Javier turns the tables and asks the guys about their thoughts on compositions in general. Scott K has thoughts – it’s painful. Jon states that MVC Turbine is doing it and you can use Attributes so what’s missing in the .NET framework that makes composition so painful.
- Javier talks of folks interest in contributing to his framework, producing documentation and video, and what’s next for MVC Turbine.
- Jon asks if MVC 2 provides features (validation or templating, for example) which may be leveraged in MVC Turbine.
- Lightening round! Have you used Google Buzz? What’s the funniest comment thread you have ever read?
Show Links:
- Javier Lozano’s Blog
- Herding Code 43: Javier Lozano on the “M” in MVC
- MVC Turbine
- Iowa .NET User Group and Iowa Code Camp
- StructureMap
- Ninject
- Castle Windsor
- Unity
- Common Service Locator
- ASP.NET MVC Extensibility
- FubuMVC
- Glenn Block
- Rob Conery
- Registering External Routes
- Alan Stevens
- Tom Janssens (@ToJans)
- MVCExtensions
- S#arpArchitecture
- Louis DeJardin
- MVC Contrib
- Jeremy Skinner
- MEF
- Automapper
- Ben Scheirman
- MVP Summit
- Google Buzz
- The Confusing New Facebook Login Page (on ReadWriteWeb)
- Community for MVC.NET
- Eric Hexter
Show notes compiled by Ben Griswold. Thanks!
Download / Listen:
Herding Code 74: Javier Lozano on MVC Turbine and Composed Applications
[audio://herdingcode.com/wp-content/uploads/HerdingCode-0074-Javier-Lozano-on-MVC-Turbine-and-Composed-Applications.mp3]