MVC Preview 4 with Phil Haack

Description

Phil Haack, one of the driving forces behind ASP.NET MVC, provides the lowdown on what MVC is, what's new in Preview 4 and how you can help shape the next version. He also takes a call from his wife, but its worth the wait.

The Discussion

Phht, whats he doing on here , kidding.. nice to hear something from the asp.net guys, been a bit shady recently bar the new previews..

I know its a big topic but I still think theres place for a server side declarative language for asp.net (other than that of webforms).. I'm talking something more light weird.. a reall simple interface for rendering and then abstractions made from that.. doing
inline code is ok but its going really far back in order to fix some gripes that isn't so much related to server side declarative code.. just more that the default one webforms uses isn't so well executed..

Plus, you guys need to push for deeper changes in asp.net, you're making a neat layer on top of a lot of crap (not all of it), but god theres a lot of messy stuff going on in asp.nets plumbing.. it would be nice if you guys had your own viewpage that didn't
sit on top of the webforms page..

Seems if you just let the route handle processing the request, then you could easily get the functionality to call a ihttphandler by writing a basic route handler that created the http handler and pushed the http context to it.. but you could also just run
processing directly from the routehandler without needing to create a dummy http handler.

ive got a tiny little nitpick though, and this applies to evertone in the asp.net mvc team:
please try and avoid saying things like "we're calling it an action" that could really really tick the rails folk (and open source folk in general) off.

now, i know you make absolutly no claim of invetning mvc (the structure) but alot of people have this notion thatmicrosft is always stealing stuff and taking credit for things and little things like that really puts gasonline on the fire

again i'd like to stress, i dont think that you think that you invented the mvc model and i am i huge fan on the asp.net mvc framework i think it brings alot to the table, its strongly typed (a good thing inmy book), its extensible and leverages alot of awsome
things from regular asp.net such as caching.

im just saying this because i would hate if people start dissing asp.net mvc becase they feel that microsoft is taking credit for mvc architectures in general witch is NOT true. but people looove to missunderstand and misquote microsoft, i think its really
unfair sometiems, but its true. so please try and be careful on how you phrase things

im not saying that people think that now but im saying that i belive alot of webdevs that use rails and php and stuff are a bit hostile towards microsoft and would take offence if microsoft inplies that they did invent mvc.. if they[the webdevs] did a litle
research they'd discover the truth but if they are put off up front they wont bother.. and thats what i think is sad

i might be totaly wrong infact i hope i am.. but after reading sites like el reg for quite some time im still baffeld how they can find ways to warp microsofts words to make microsoft look bad..

one could ofcourse argue that it doesnt matter how careful microsoft is in its statemens, someone will always find an angle anyway..

stevo, you should check out the ProMesh.NET MVC Web Framework. I tried to go to ASP.Net MVC but ended up going back to ProMesh as i missed things in ProMesh. I really don't like how ASP.Net MVC still uses aspx
files, i want pure html files with an expressive server-side language. ProMesh provides that, and the next version is taking that model and improving it by enabling a similar routing engine as ASP.NET MVC and giving you the option to define your own server-side
language. Ajax support is also great.

I was really looking forward to ASP.NET MVC but I don’t think they have taken it far enough.

Cyonix, Thanks for the Link. It looks interesting however, most of my clients will be sceptical to adopt something that is open source and community may not be around when he needs it 2-3 years down the line. They expect their project to work and be maintained
for years.

Unless an open source is massively supported like jQuery or nHibernate, I would generally stick to official Microsoft version.

Phil is there any showcase showing how many complex scenarios are handled ? for eg : In one of our project, we give an ability to generate whole Form by the User (Containing several complex controls like RadEditor etc). If we take out ViewState and Event based
handling, will it still work ? Do I have retreive my Control values back in ASP Style (Request.Form) ? In short is it possible to Dynamically generate Control Tree and then Retrieve it back ?

I thought ASP.NET MVC supported multiple view engines, not just ASP.NET, e.g., NHaml, NVelocity, XSLT, your own if you felt like building one. Check out
MVC-Contrib @ CodePlex for some community-driven, ASP.NET MVC-related projects.

If it helps any, I can go on record here categorically stating that Microsoft and the ASP.NET team did not invent the Model View Controller pattern.

In terms of view engines, we do support multiple view engines. It'd be interesting to see if someone implements a ProMesh view engine for MVC. MVC is designed for extensibility, allowing the swapping out of any part you don't like. My IronRuby sample is an
extreme demonstration of this.