Today at the alt.net conference, Scott Guthrie demoed the new MVC architecture that Microsoft will be releasing in Spring 2008 for web apps. The first CTP should be available in two weeks. This architecture is very similar in many ways to the Rails architecture but takes full advantage of Microsoft .NET 3.5’s features and the strong typing in .NET. The crowed of alpha geeks that where incredibly critical of Microsoft the night before all gathered in one room and intently listened. Many questions were asked: Does this framework work with such and such? Can I do so and so. Scott’s answer was yes to all of these questions. The crowed was enchanted by Guthrie. No one had anything negative to say. There were a few syntactic and minor suggestions. And some mental wresting from some of the geeks, but Scott’s technical answers addressed the issues raised. Everyone was incredibly impressed. Scott’s presentation and rapid fire answers to questions demonstrated his detailed understanding of all the testing frameworks as well as alternative development frameworks out there and his team’s synthesis of all this knowledge in what appears to be a superior product to what currently exists in the market.
This will be a MVC pattern similar to Rails with a similar URL mapping convention and an architecture that allows you to plug in your favorite testing tools. Both Scott Hanselman and Philip Wheat taped the talk and will post it shortly. I strongly recommend watching it. This architecture is far superior in separation of concerns, testability, maintainability, and scalability to the existing ASP.NET architecture that was basically mimicking a state-full WinForms environment in a stateless web world to bring existing WinForms developers up to speed with web application development quickly. It will enter a heated battle with Ruby on Rails for the top spot as the best way to develop modern web apps. The Microsoft .NET Framework will have certain advantages such as WCF, Linq, and strong typing while the dynamic nature of Ruby and it’s faster innovation rates due to its open source nature will have other advantages. It will be interesting to see how this fight will pan out.
Note that because of a fundamental change in the design, there will be a new (smaller) set of ASP.NET controls that will work in this model. This architecture relies more on the native html controls (which is a good thing. See my CSS blog post to see what hoops you need to jump through to make ASP.NET controls work well with CSS). AJAX Control Toolkit controls that talk to the server also will get counter parts that will work in this model. There will be no change to the Microsoft Ajax Library or the networking stack of the Microsoft Ajax offering. This stack will also improve the existing ASP.NET architecture by replacing the UpdatePanel that was designed to wrap existing ASP.NET controls which were not originally designed for Ajax with a control that can be passed into the app as a JSON object and placed in a placeholder.
To read other perspectives please read the following blogs:
jay flowers: loop diagrams from system thinking
jeffery palermo: advanced nhybernate techniques
paul juliean : different styles of pair programming
mvc stuff and plugging the dlr into that ruby view,
can we call it msft does rails
ndunit and xunit
ddd domain driven design
scott belware behavior driven design
rod how to sell agile to management
making tests pretty
eric anderson how to introduce bdd to developers who are not actively seeking better ways to do that. how to lower barrrier to writing specs
passion, what to do to build that passion
what is going on with architecture, what you have learned about
futurespective on msft. give msft ideas on where to go.
what we lack in .net community that they have in ruby and java community
scott gu new mvc pattern from msft. use nunit to test it.
simon guest guidance or lack of from msdn. how to fix or replace it
westin benford monorailmoving from asp.net to monorail. why would someone spend 6 months on monorail and then move to ror
dynamic languages on the cl
aspect oriented programming
why move from tdd to bdd.
how to move organizational skill up
kevin d? how to move legacy code under test
jacob boris. how to avoid xml hell
howard turking. runs msdn magazine (laughter which was not cool) how to systematically moving it up to the masses vs c++ hates the vb community.
moving a .net team to ror. tips tricks
it is harder to build software this way how to make it easier.
intersection of the domain moder pattern and rich internet app built on silverlight
dave ohara. how do we take these ideas and sell them to folks in a way that they see the value.
tom integration tests involving databases. i am fan of nhybernate and active record. (use sql light with database in xaml -joke)
lightning talk for 5 min. to do quick demos, …
roy: a famous speaker said that td will deteriorate your design, can it really do that. when to use it or not. how it compares with bdd.
mike from uk you are all a freindly bunch… i am a java manager now. all alpha geeks have left as martin has already left. apple is taking over the desktop. is vista is the last nail in the coffin. why should i care about msft anymore.
vista ME will be out in just 2 years.
where does a model go, what is the lifespan. when to use mockin, when not.
agile project management.
scott: writing and understanding user stories.
jean paul — becoming a catalyst for change in your organization. how to introduce things like agile into the organization
james kovacs — why are we facinated with executable xml. it is terribly verbose. painful.. can we do better. most msft devs diddnet go to college.
ruby for dummies, i mean .net developers.
fostering passion within a company to grow.
are executable requirements possible. are … better. can we do better.
domain specific languages for business and geeks.
language oriented progamming is challenging. design asthetics and environment is challengeing with mocking and dependency injection.
what is the persona for .net. mort, einstien, elvis, belware
sorry for misspelling everyone’s names.
here are some of the things said in the fishbowl tonight:
fish ball why is alt.net alternative
patterns to produce better software
.net is not driven by community as opposed to ruby or java community
.net community is the office sharepoint community.
things that suck: msdn events (ypou can click five tomes and you have a production all), magazine articles,
you dont like mort? you are wishing mort was more like you?
Alt.net to give people significant options other than what is coming from msft
actively challenge assumptions on software.
try to build a community that actively think about the quality of software we are building and how long does it take.
i want to have your baby, jb.
there is no thought given to maintainability or scalability, it is about it comves from someone who is bigger than me so it must be right.
is there a alternative better way to do things with .net. connecting team systems with external tools and making it work.
build passion around msft software again.
stop the hurt.
we can talk about the pain. alt.net is also about the joy of building great systems.
we are doing cool fun stuff.
the values support the tools. it is not just that the vendor gives ups the tools.
stuff msft puts out is good for a large class of people.
msft vs anti-msft track at codecamp? how to write better software.
looking outside msft to make msft devs be beter.
we are like master woodworkers. but there are dumb carpenter out there also.
we are all pitchin in. what specific we do not like? what dont you like. you dont like msdn? i dont like it either. what else?
its a miss match between what this group of devs wants to approach software and the tools. the next person next to you may know a lot more about software is
mort is crying while mommy and daddy are fighting.
tooling makes great demos.
one big thing is inversion of control. i do not want to directly couple to concrete types. the
what is al.net ? we are creative and trying to do better.
cifactory, monorail, .. were uilt on ideas, those are the con
alt.net = msft + open source + agile + ….
subversion works so i am not looking at team foundation server
in trying to solve my pains. it happens that i do not like te event driven model pulled from windows for asp.net. things that are solving my pain are not msft right now.
this has not been edited and i captured as much as i could.