This week on Herding Code, the guys speak with Joe Brinkman, Co-founder and Technical Fellow at DotNetNuke Corporation, about the ASP.NET MVC vs. Webforms debate, open source development, recent advancements in DotNetNuke and how to improve our industry and the community as a whole.
- Joe explains that the Webforms vs. MVC debate boils down to a component based vs. object-oriented based approach to web development. Joe also shares that one shouldn’t only think about Webforms when doing the comparison. After all, let’s not forget web services, HTTPHandlers and HTTPModules are also part of the ASP.NET stack.
- Joe speaks about the lack of a reusability model in ASP.NET MVC and Scott K offers solutions that go beyond mere copy and paste operations. Joe and Kevin explore how the absence of the component model in ASP.NET MVC is rescued by rich functionality packaged within the Javascript frameworks.
- K Scott and Joe talk about core issues with Webform development. That is, ClientId management, .ASPX in URLs and maintainability concerns around Webform’s event model in the code behind and forcing statefulness in a stateless web environment. K Scott notes that .NET 4.0 will offer URL routing and greater control over ClientId generation so key areas of concern may soon be addressed, but it will take further framework improvement to provide greater control over the Webform abstraction layer.
- Everyone agrees that Microsoft, vendors and community will provide components to pave the way to richer, easier to implement, ASP.NET MVC applications. Additionally, advancements will continue in the Webforms space. Most notably, the guys assume there is bound to be a push towards a better Webforms testability story.
- Kevin gives historical context to Webforms and why the abstraction model was revolutionary and arguably necessary. Knowing full well that hate mail is to come, Jon talks about using the “right” tool for the job and how he plans to continue to use Webforms where appropriate.
- Jon and Joe summarize four big reasons why EVERY developer should learn MVC and Scott K asks what can be done with senior web developers who just don’t want to learn the new framework? This leads into a conversation about honing one’s craft, mentorship, leading by example, and following through with supervision and code reviews.
- Now that ASP.NET MVC is in the picture, the group wrestles with what to call ASP.NET Webforms. Classic ASP.NET is kind of catchy (and a little confusing.)
- Jon and Joe talk about changes in Open Source – inside and outside of the Microsoft community – over the past six years.
- Scott K talks about the “promise” of being able to contribute to an open source project and asks about the managing patches – specifically on large open source projects.
- The guys also dive into open source definition, licenses, legal considerations, protections around intellectual properties and implicit copyright on code.
- The episode wraps up with a Joe providing a nice overview of DotNetNuke’s past, present and future.
Show Links:
- Joe Brinkman’s Blog
- I Spose I’ll Just Say It: Still Waiting For a GOOD Reason to Learn MVC
- DotNetNuke
- DotNetNuke Professional
- DotNetNuke OpenForce
- August Capital
- Sierra Ventures
- ASP.NET MVC
- Telerik
- DevExpress
- WordPress
- Jeremy Miller
- Chad Myers
- Scott Watermasysk
- Community Server
- Scott Guthrie
- DRY Principle – Don’t Repeat Yourself
- SOLID Principles
- TDD – Test Driven Development
- BDD – Behavior Driven Development
- FubuMVC
- Oxite
- jQuery Grid Plugin
- jQuery
- Prototype
- Script.aculo.us
- Open Source Definition
- Open Source Licenses
- SCO vs Linux Controversies
- Cargo Culting
- Reflector
Download / Listen:
Herding Code 47: Joe Brinkman on Webforms vs ASP.NET MVC
[audio://herdingcode.com/wp-content/uploads/HerdingCode-0047-Joe-Brinkman-on-Webforms-vs-ASPNET-MVC.mp3]Show notes compiled by Ben Griswold. Thanks!