ScottGu MVC Presentation and ScottHa Screencast from ALT.NET Conference
I attended the ALT.NET Conference last weekend in Austin, TX. I personally find the name "Alt" as in "Alternative" too polarizing and prefer terms like "Pragmatic.NET" or "Agile.NET." At the conference I suggested, partially in jest, that we call it "NIH.NET" as in "Not Invented Here.NET." ;)
Ultimately this is a group that believes in:
- Continuous Learning
- Being Open to Open Source Solutions
- Challenging the Status Quo
- Good Software Practices
- DRY (Don't Repeat Yourself)
- Common Sense when possible
I asked "Why is this alternative," and Martin Fowler echoed those sentiments. When I was at Corillian we were using NAnt, NUnit, Subversion, NCover, NDoc, NDepend, CruiseControl, Watir/Watin and Ruby and we practiced Scrum with an Agile Coach. Did that make us alternative or were we just getting the job done? We made practical and pragmatic decisions and it worked out OK.
Whether this is Alternative .NET or just Practical .NET, it's a conversation and that's a a good thing.
ScottGu gave an hour long presentation on the upcoming MVC Framework and I took some guerilla video. ScottGu's presentation is here in Silverlight and it's about 60 minutes long. Considering it's so long, the video squished nicely.
This was the first time the MVC Framework was shown publicly. Note that this was a Prototype, not the Production code and both ScottGu and I make that point a number of times to drive home that it's early. Some of the code was written on a plane, just to give you an idea.
After The Gu did his piece on the MVC Framework, I showed some prototype hacking that I'd done over the previous few days along with some work Phil Haack did. My presentation is here as Silverlight and it's about 30 minutes long. I showed the Model View Controller with Controllers in IronPython and an IronPython view using a WebFormViewEngine. Then I talked about the possibilities of alternate ViewEngines and showed Phil Haack's prototype RubyViewEngine.
Both talks show lots of code. Of course, this is prototype madness. No warranty, express or implied. Features come and go, but I hope this shows that we're committed to aiming for as much awesomeness as is humanly possible. I hope you enjoy them, even though my webcam hand was shaky after an hour. I used a new Microsoft NX-7000 Lifecam for the recoding - it's a great camera for the Alpha Geek. ;)
Here's the videos I promised:
- ScottGu on MVC at ALT.NET Conference (60min-ish)
- ScottHa on MVC+DLR=Love at ALT.NET Conference (30min-ish)
If you want to link to these, link to this post, not those links, as the videos might move around. Thanks.
Here's some of the buzz around the new Framework. I hope this framework is a harbinger of things to come in future frameworks.
- Chris Holmes: ALT.NET Conference: Brave New World
- Roy Osherove - Microsoft gets Design For Testability with new MVC framework for ASP.NET- Finally.
- Jeffery Palermo - Scott Guthrie announces ASP.NET MVC framework at Alt.Net Conf
- Nima Dilmaghani - Microsoft announces new MVC architecture for Web Apps
- Gary Sherman - Microsoft is changing the world - at least part of my world - for the better and MVC Framework
- Rod Paddock - AltNetConf Day2 - Agile and MVC Goodness
Things are looking up.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
I need to download and watch the presentation offline, can you provide a download link ?
Thanks!
I am really glad that Microsoft is doing this in a open (non sealed) and interface driven way.
Just one question, this seems very much like a MonoRail clone, is there anyway for Microsoft to endorse a open source project instead always doing their own version of something that already exists?
In response to Torkel, read this post:
http://weblogs.asp.net/jgalloway/archive/2007/05/02/why-microsoft-can-t-ship-open-source-code.aspx
Just because something exists doesn't mean that it works for everyone. And Microsoft is not the only one guilty of thinking they can do something better, we have that in Open Source too. Why else would we have a choice between RhinoMocks, NMock, and TypeMock. How about NUnit, xUnit.net, and mbUnit? Competition fosters innovation.
Beside that I am very glad that they are listening to the complaints of WebForms and for what I have seen this looks very promising. Having intellisense in the view for view data and helpers is great and something I have been really missing in MonoRail.
especially for us who couldn't make it to the conference, I wish there was more video available from these conferences. The MVC framework looks very interesting.
Writing up my notes right now... so is it called System.Web.Mvc or Microsoft.Web.Scalene ?
[)amien
Thanks for doing the video, the IronRuby video was awesome and I'm hoping these will be awesome too.
I've not been more excited about the MVC stuff since.. I saw it for the first time a few weeks ago :o)
Look forward to watching these when I get home from work,
Keep up the good work,
Chris
At the start of the video, ScottGu says "...releasing it Spring next year...", so I assume that means after the VS 2008 release. Sort of like they did with the AJAX release (after VS 2005).
I would assume they're going to have some sort of public CTP or Beta release before then.
Speaking of this, now I haven't used the Web Client Software Factory yet, but it seems like they provide something like a MVC framework, are these two projects related? are there any shared team members between these two? I'm just curious.
One nice thing about the Brail view engine is that the views are compiled independantly of the main application, so if you make changes to a view it gets recompiled instantly.
I suppose the DLR based views are not compiled, but in the case of the aspx views, will a change in the view require a reload of the application with a potentially long delay, it would be nice if not.
Ayende had a post about that here
Clone:: I wouldn't call the ASP.NET MVC framework a clone of MonoRail, because then we'd have to call MonoRail a clone of Rails, and so on and so forth. The MVC framework borrows ideas from frameworks like Rails, Django is looks to integrate with Windsor and Brail and NUnit, etc... Its a good thing, and everyone is cooperating.
Bits:: I remember hearing that the first drop will be in a few weeks, and that it will have a Go-Live license by the end of the year. The final release will be in spring 2008. That's what I remember, but I've been known to be wring before. Can anyone confirm my recollection?
I'm excited about LINQ and finally getting rid of __doPostBack(ctl$container123$myTextbox)!!!
It would have been great if the camera stayed focused on the screen.
Nice videos anyway.
-- Eddy
As for code, I might be able to sneak a snippet or two in the Weekly Source code, but right now it's on ScottGu to make those decisions. ;)
You never called on me.
>Microsoft has the policy that a developer of Microsoft (unless excluded from this policy) isn't allowed to look at GPL-ed software.
>http://weblogs.asp.net/fbouma/archive/2007/10/05/more-on-the-net-sourcecode-and-its-reference-license.aspx
is that true ?
All jokes aside, this is a phenomenal step in the right direction. Now sneak us some bits! :-)
The new MVC architecture is wonderful, can't wait to give it a go.
ScottGu mentioned the suppression of Form Controls. Does that mean you're not allowed to have a <form runat=server></form> for aspx views?
How does that work for master pages that need their content place holders placed inside a runat=server form?
I dislike the runat=server form because it stops me from having normal forms in a page.
Thanks for shooting this video.
While I love WebForms on many levels, theres just some things it doesn't do well.
It will be great to finally have 100% control over the HTML output :)
Looking forward to more info in the coming months...
Since it is its in early stage its very difficult to do lot of stuff
You have no idea how glad we will be to see the back of WebForms, and how happy it will make the team to have easily testable web applications (the ASP.NET part of our applications are, *ahem*, somewhat lacking in test coverage compared to the rest of our products).
I don't suppose it will be ready in time for Orcas RTM? Regardless of whether it is, we will still use it though :)
Thanks!
Scott, I was very interested in hearing your discussion regarding dynamic languages and appreciated that you covered python. Too bad the majority of people left the room - I think this is quietly one of the best features of the new MVC design/DLR combo, the support for dynamic languages. Should be interesting how the python/ruby community responds to this but it sure does open a few doors to acceptance from strictly dynamic shops.
The Zoom is not Camtasia, it's ZoomIt. The Video was Camtasia and I squished it with Expression Media Encoder.
Pete
Can you elaborate a bit more on how you did the picture in picture? Did you use your lifecam for one video and camtasia for the screen? How did you merge the two? Or does Camtasia do the entire thing?
A post on your presentation technique would be great.
anyway.. thanks for the good videos
I'm not a Silverlight buff/convert. Would it be possible to provide plain-vanilla videos watchable in good ol' viewers?
I am having trouble watching the videos either online or offline. Have Windows Media Player 11 but keeps complaining codecs not installed even though it appears to install codes when I load the wmv file. Any ideas appreciated
I've seen and made numerous attempts at MVC, but if it doesn't support both web(ASP.NET/AJAX) and windows (WinForms/WPF) it's just not generic enough.
Sure having a clear separation of concerns is nice and being able to unit test does miracles for code quality, but the business rational for MCV is supporting multiple views with the same code base.
And the multiple views argument is getting stronger with more "view" technologies being added to dotNET like WPF and AJAX.
Then again, adding support for winForm is a detail so it might be added later.
My biggest problem with this is the lack of postback. I know all responses are to go back through the controller, but this seems as it would make harder to edit (such as inline as expressed in the video), not to mention Ajax usage with partial page rendering. I am feeling more like being pushed into a box in order to keep the MVC structure. Am I missing something?
The other issue, still related to the lack of postback is the investment already made into tools such as control libraries. If all controls will have to be rebuilt to support this structure it could take years before we could expect many of the rich third part controls we enjoy today can be ported or rewritten to use this structure. Is there some path to be able to reuse our current controls (which may have been big $$$) or do we lose them to use the new MVC for ASP.NET?
Well played MS ... good show!
They all try to resasitate the dead instead of creating real concepts.
What is really required is just creating a COMMON, POWERFULL and STANDARD runtime on the client (Silverlight is not powerfull enough) and standard DATA Synchronisation (between the client and the server) methods. Also why do we need a browser (for hosting such rubbish solutions?) There should not be a difference between the desktop apps and web based. And so on ...
Conclusion - very depressing ...
When or how can we start using it?
I have been wanting to use MVC in my webapps for years.
Lately I have been working with the MVP pattern, which is getting the job done, but having MVC built in would be very nice.
Chris May
It has been saying that it is downloading the WMV file for 20 minutes or so but I only see the first frame.
For grins and giggles, I tried to open the Silverlight page up in Firefox, and it worked immediately! No buffer time, no problems, it just played immediately. Ironic, eh?
Great stuff though, really. Thanks! And I am going to write up a post about the MVP concept I came up with last year and have used for a few projects. I think it'll bolt on top of the ASP.NET MVC framework nicely and it offers a lot more "control" to the controller. I'll drop you a line when it's posted.
http://blog.jeffhandley.com/archive/2007/11/09/an-extended-mvp-pattern-mvp-validation.aspx
I'd love to hear your thoughts on it!
Where are the business rules defined in the MVC Framework? I hope that the Model component is more than just a data holder. It should have some means of attaching multi-attribute validation rules.
its so frustrating to seethis "ring of wait" all the time, constantly interrupting viewing experience.
what i really liked would be downloadable wmv or avi whatever just to watch it without interruptions.
streaming is no good!
please think about people to who you want to show this interesting stuff..
its so frustrating to seethis "ring of wait" all the time, constantly interrupting viewing experience.
what i really liked would be downloadable wmv or avi whatever just to watch it without interruptions.
streaming is no good!
please think about people to who you want to show this interesting stuff..
but next time it would be great to have direct links right next to video ;)
i usually watch video before reading comments, then they make more sense..
still, this tech is amazing :)
Great stuff. Any download links yet to some sample code to play with?
Thanks,
Michael
Comments are closed.