Impressions, slides and code from TechDays Belgium and Netherlands
Update: Posted the video of “MVVM Applied” below.
This week I was “on tour” in Belgium and Netherlands and presented 3 times:
“MVVM Applied, From Silverlight to Windows Phone to Windows 8”
(in Belgium and Netherlands)
The goal of this session was to make people feel confident that the skills they acquired working in various XAML frameworks (Silverlight, Windows Phone, WPF, Surface, etc) are going to help them tremendously when developing Windows 8 applications. It was a session packed with code, where we went from a Silverlight 5 application, added design time experience, reworked the design in Expression Blend, then created an application reusing most of the code in Windows Phone (including design time experience in Blend), and then created a WinRT application which, again, reused most of the code (including design time experience in the Visual Studio Designer). Of course the sample code uses the MVVM Light Toolkit in order to make the coding easier, and to maximize code reuse.
I also showed techniques to keep as much compatible code as possible between the frameworks, and abstract the differences. For instance, Windows 8 is more asynchronous than Silverlight (which was already more asynchronous than WPF, remember the discussions around the lack of synchronous web requests in Silverlight?). In Windows 8, operations such as file system access and stream access (read/write) are asynchronous now. Using techniques such as callbacks, you can quite easily isolate the code that is Windows 8-specific, and call into it from shared code (more about this technique in a following blog post). It was an interesting session that gathered quite a lot of positive feedback.
You can download the following from Skydrive:
- Start solution (PictureUploader-0-Start, running Silverlight 5 application, without design time data)
- Silverlight 5 (PictureUploader-1-SL5) design time data complete
- Windows Phone 7 (PictureUploader-2-WP7) application complete
- Windows 8 (PictureUploader-3-Win8) application complete
- Code snippets for VS10 (Snippets.vssettings, Silverlight 5 and Windows Phone)
- Code snippets for VS11 (SnippetsWin8.vssetings, Windows 8)
- Slides (MVVMApplied)
To import the code snippets in Visual Studio’s toolbox, select the menu Tools, Import and Export Settings, and select the snippets file. This will import the snippets into your toolbox. Note that if you had snippets in your toolbox before, it will add the new ones instead of overwriting the old ones.
Note about the Windows 8 sample: For some reason the sample refuses to start if you include the GalaSoft.MvvmLight.Extras DLL for Windows 8. It does however run just fine if you include the project instead. For that reason, I included a copy of that project’s source code and referenced it directly. Given the current state of Windows RT (developer preview), I won’t even waste any time looking for a fix. We’ll see about that in the Consumer preview ;)
The video of this talk, also available at Channel 9
“100 Fidelity: From comps to apps, tips and tricks for XAML integration”
(in Netherlands only)
The purpose of this session was to show the audience usage of various tools (of course mainly Expression Blend) to create user experience that is as close from the designers’ vision as possible. Nowadays with XAML and Blend, it is possible to reach 100% fidelity. I also talked about the integrator role, a role that we fully embrace at IdentityMine. The integrator’s main tool is Blend, and Blend is used to integrate the design assets into the application. We talked about and demoed the features that make Blend truly shine, such a gradient creation, resource management, animations, etc.
Even though this session was in the graveyard shift (Friday afternoon, 4PM), I was positively surprised to see quite a few people attending. Also, when asked who in the audience is a designer, I saw approximately 10 hands raising, which is more than usual. Are we seeing more interest from designers in Blend due to Metro? One can only wish so!
You can download the following from Skydrive:
- Slides (100%Fidelity)
There is no source code for this session, because most of the demos were about creating and integrating assets in Blend. Refer to the video for more details.
Screenshots
These screenshots are taken from the “MVVM Applied” session
Silverlight 5 application with a beginning of styling
Windows Phone application start screen
Windows Phone application during upload
Windows Phone application, upload completed
Windows 8 application, start screen with application bar
Windows 8 picture picker
Windows 8 application during upload
A few impressions
The room where I presented MVVM Applied in Netherlands
The room where I presented MVVM Applied in Netherlands
They had my book (and Brennon’s) at the conference bookstore :)
A cool clownfish
Cheers,
Laurent