Mike Taulty and I hosted a 3.5 hour Silverlight bootcamp at MIX11 this year (Mike will be posting all of the slides and demos on his site soon, including mine. I’ll link to it when it is up. For the record, I held him up .)
The topic for the last hour of the bootcamp was MVVM and “Hooking Up”. I demonstrated some quick tips on MVVM concepts and then walked through a scenario where Mike played the designer (who was actually my friend and colleague Arturo Toledo) and I played the developer. This was a real story where where Arturo and I worked through the MVVM demo in a matter of 3 days.
The deck walks through the fundamentals of MVVM first and why abstraction and design time data are important. Then I begin the story and show how Arturo starts with wireframes, goes to visuals (pure graphics), and then to XAML. In the meantime I build the backend and the front end, using design time data that fits with my runtime data model and services. We collaborate as we go, and the result is that Arturo gives me the final XAML and I spend less than an hour putting it into my project and letting her rip.
I’ll be discussing this process and expanding on this demo more in the coming weeks, but for now I wanted to get the basic demo out there along with the slides. So yes, I realize the code is not perfect, the XAMl is not perfect, but that’s kind of the point. The back end and the design are solid. There is room for the XAMl to be cleaned up and other views and services to be added. I have since made a much cleaner and more expansive app (more views, viewmodels, navigation, etc), but for now let’s stick with the core.
You can download rev 1 of the GuitarShop demo and the MVVM / Hooking Up slides here.
Note that I removed all the guitar images and replaced them with the same image. I am working on verifying which images I can distribute in the demo. But in the meantime, all images will look like the same guitar, so don’t be alarmed
Requirements for the demo:
- Visual Studio 2010 SP 1
- SqlServer Ce v4
- Visual Studio 2010 tools for SqlServer Ce v4
- Expression Samples PathListBoxUtils
- Silverlight 5 beta
- Expression Blend Preview for SL 5
- Entity Framework 4.1 (for code first)
- MVVM Light