DEEP DIVE MVVM at #MIX11

The public (you!) has spoken, and “Deep Dive MVVM” was selected (along with 11 other open call talks) out of 217 proposals. There were 17’000 votes! These are pretty amazing numbers, and believe me when I tell you that I still didn’t completely realize what just happened!

I want to really underline the outstanding quality of many of the talks that were proposed. I decided not to reveal my votes, because I just know too many of the candidates and I had only 10 votes Smile but let’s just say that some of my favorites were picked, and some were not, and I really wish that I can see them all either at MIX or in another conference.

I already started putting down ideas for the talk (not too many, because I didn’t want to jinx it) and it should be a really great session. We will, as the title shows, dive deep into the subtleties of MVVM, and explore some techniques that allow to overcome some of the hurdles presented by this pattern. This session will be shaped by many emails that I received over the past year, since “Understanding the MVVM pattern” was presented, and offered, for many, a first look into Model-View-ViewModel.

So now’s the chance, comment and let me know what topics you would like to discuss. If you had not done so before, go ahead and watch last year’s session, it will be a great preparation. Let’s talk real life development, let’s explore the problems and find solutions. I already have a nice collection of emails asking questions around MVVM and my goal is to answer as many as I can. Leave a comment and I will do my best to answer these as well.

The date/time was not announced yet, so watch this space for details. I am really looking forward to seeing many of you in Las Vegas, and for those who cannot make it, don’t worry, all the sessions will be published in video by the amazing MIX team a few hours after the session actually takes place.

Thanks for your confidence and in the meantime, Happy Coding!

Laurent

Print | posted on Friday, February 11, 2011 12:20 AM

Feedback

# re: DEEP DIVE MVVM at #MIX11

left by Andre at 2/11/2011 2:08 AM Gravatar
MVVM raises many issues for discussion, but I have a special interest in different environments using the "Binding engine" , eg, something with high FPS rate in a WPF chart .
Another important issue is choose the MVVM framework for our apps , and of course, including Unit Tests and Mocks frameworks.
If you have some news about these issues, let's tweet it!

Congrats !

# re: DEEP DIVE MVVM at #MIX11

left by Dean Thrasher at 2/11/2011 4:15 AM Gravatar
I've had lots of trouble using MVVM in navigation-style applications.

First, I've found that nav-style applications force you toward a view-first approach where the view is aware of the viewmodel. Second, Pages and PageFunctions seem to require codebehind to function effectively. Third, it seems far easier to trigger navigation events from the view than from the viewmodel.

I'd abandon MVVM entirely, opting for some other architecture (maybe MVC?) except that that I love having rich viewmodels for databinding and testing purposes.

I realize that most other developers gave up on the navigation bits of WPF some time ago, but it does highlight where some of the rough edges are.

# re: DEEP DIVE MVVM at #MIX11

left by Angelo Chiello at 2/11/2011 10:10 AM Gravatar
Database asynchronous call makes my life very hard!
My silverlight app is full of messages and callback (I have it thanks to you.. messages I mean).
As written by Andre " and of course, including Unit Tests and Mocks frameworks."
In a real LOB app I add, edit, delete, let know other VM something.. every sample app I've studied miss always something.

# re: DEEP DIVE MVVM at #MIX11

left by Mike Apken at 2/11/2011 4:29 PM Gravatar
First off, thank you for your work. When I was trying to wrap my head around passing in the service layer into the ViewModel, I went back to your demo code on a daily basis. I have watched your video or at least certain parts many times over.

I would love to see navigation addressed on a larger scale than most bloggers and demo givers address.
Navigation is not represented by one main navigation menu that sits on the "master page".

We need a pattern that allows for new navigation menus to be swapped out and replace many times during the execution of your application. Also, the View or View Model should not even be concerned with the existence of the navigation control. Only the navigation control needs to know when to load another navigation control. Each navigation control should know which View to load when an option is selected.

A View should be able to be loaded at different times during the execution from different navigation controls. The context of which the View is loaded may and will be different at different points of your application. So, the View can not dictate the flow your of your navigation.

In my humble opinion, navigation does not fit into the MVVM pattern.

I would love to see how you address navigation in your applications. How do you design navigation when you have 120+ different views.

BTW, you are one best presenters. You seem to have the ability to make the viewer understand the topic you are discussing at that moment. Even when the viewer does not truly understand that topic.

Mike Apken

# re: DEEP DIVE MVVM at #MIX11

left by Mark at 2/13/2011 7:57 PM Gravatar
In "Understanding the MVVM Pattern" you talked about flaws of MVVM. Can you bring us up to date on what Microsoft and others are doing to make it easier to use this pattern?

# re: DEEP DIVE MVVM at #MIX11

left by Scott Silvi at 2/16/2011 7:40 PM Gravatar
I will echo a lot of the sentiment posted here thus far. First, your toolkit is tremendously useful. Second, your presentations/samples have done more for my client and this project than I can state. Third, Navigation. Fourth, fifth, sixth: navigation.

That's been a big struggle for me too - as this application I'm building has 70-80 views, sometimes nested navigation frames (subpage with its own panelbar navigation nested inside the main tab style navigation in default biz SL project).

Cheers,

Scott
Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: