SlideShare a Scribd company logo
MVVM Applied: From Silverlight to Windows Phone to Windows 8
Disclaimer:
• I am NOT a Microsoft employee and all opinions
  expressed are solely my own.
MVVM Applied: From Silverlight to Windows Phone to Windows 8
The MVC pattern:
                                              Messages
                    DataBinding   Commands     View Service
                                               PropertyChanged


       Controller


                                             Events
Binding




Behaviour
No behaviors in Windows 8
 workaround: Use properties and binding
 PropertyChanged event

                    Binding




                   PropertyChanged
ISelectFilesService
             injection

injection


 INavigationService

                         action
MVVM Applied: From Silverlight to Windows Phone to Windows 8
Probably not a replacement for “desktop apps”
Very similar to Windows Phone apps



A companion for your richer application
public async void Get(Uri uri)
                              {
                                  var request
                                      = new HttpRequestMessage(
                                          HttpMethod.Post, uri);

Maybe the most difficult aspect   var response
                                      = await Client.SendAsync(request);
                                  var result
await/async can be confusing  }
                                      = response.Content.ReadAsString();




Often used in Win8
Use callbacks to async code
Use interfaces even for simple model classes

Share common classes, overload other classes
Extend classes       And if you have to
Demo
MVVM Applied: From Silverlight to Windows Phone to Windows 8
call to action
• Check your code for possible asynchronous
 workflows


• Check the developer preview
• Stay tuned for the beta!
http://aka.ms/mbl-win8




                   http://aka.ms/mbl-win8/build
                             http://aka.ms/mbl-win8/devprev
                                         http://aka.ms/mbl-win8/store
MVVM Applied: From Silverlight to Windows Phone to Windows 8
MVVM Applied: From Silverlight to Windows Phone to Windows 8
MVVM Applied: From Silverlight to Windows Phone to Windows 8

More Related Content

What's hot (20)

PPTX
Web workers
Ran Wahle
 
PPTX
Intro to Knockout.JS for Salesforce1
Boris Bachovski
 
PDF
Sencha TouchのMVCについて 〜スケールするアプリケーションを求めて〜
yoshiaki iwanaga
 
PPTX
Mvvm knockout vs angular
Basarat Syed
 
PDF
Isomorphic JavaScript: #DevBeat Master Class
Spike Brehm
 
PPTX
Asp.net mvc 4
Hrichi Mohamed
 
PPTX
Angular js for beginners
Munir Hoque
 
PPTX
ASP .Net MVC 5
Nilachal sethi
 
PDF
Lesson 09
Gene Babon
 
PPTX
Getting started with MVC 5 and Visual Studio 2013
Thomas Robbins
 
PPTX
ASP.NET MVC for Begineers
Shravan Kumar Kasagoni
 
PDF
Web Workers
IntexSoft
 
PPTX
Angular js tutorial slides
samhelman
 
PPTX
Angular js anupama
Anupama Prabhudesai
 
PPTX
Single Page Application (SPA) using AngularJS
M R Rony
 
PPTX
MEAN stack
Iryney Baran
 
PDF
Isomorphic JavaScript with Nashorn
Maxime Najim
 
PPTX
Microservices: Yes or not?
Eduard Tomàs
 
PPTX
001. Introduction about React
Binh Quan Duc
 
PPT
Zend framework 02 - mvc
Tricode (part of Dept)
 
Web workers
Ran Wahle
 
Intro to Knockout.JS for Salesforce1
Boris Bachovski
 
Sencha TouchのMVCについて 〜スケールするアプリケーションを求めて〜
yoshiaki iwanaga
 
Mvvm knockout vs angular
Basarat Syed
 
Isomorphic JavaScript: #DevBeat Master Class
Spike Brehm
 
Asp.net mvc 4
Hrichi Mohamed
 
Angular js for beginners
Munir Hoque
 
ASP .Net MVC 5
Nilachal sethi
 
Lesson 09
Gene Babon
 
Getting started with MVC 5 and Visual Studio 2013
Thomas Robbins
 
ASP.NET MVC for Begineers
Shravan Kumar Kasagoni
 
Web Workers
IntexSoft
 
Angular js tutorial slides
samhelman
 
Angular js anupama
Anupama Prabhudesai
 
Single Page Application (SPA) using AngularJS
M R Rony
 
MEAN stack
Iryney Baran
 
Isomorphic JavaScript with Nashorn
Maxime Najim
 
Microservices: Yes or not?
Eduard Tomàs
 
001. Introduction about React
Binh Quan Duc
 
Zend framework 02 - mvc
Tricode (part of Dept)
 

Viewers also liked (9)

PDF
Presentatie WWV14: Bol.com de kracht van het netwerk
webwinkelvakdag
 
PPTX
Omoda xsarus-wwvd-2014-1
webwinkelvakdag
 
PDF
WWV2015: Seoshop en National geographic_jeroen weijs_kirsten van der woning
webwinkelvakdag
 
PDF
5 concrete tips om de conversie met 50% te verbeteren
webwinkelvakdag
 
PDF
WWV2015: Bas van bree dinalog
webwinkelvakdag
 
PPTX
WWV2015: Martijn van der geer b2 c europe
webwinkelvakdag
 
PPTX
WWV2015: Emiel Bruijntjes-Copernica
webwinkelvakdag
 
PPTX
Webcasting
webcastinglive
 
PPTX
E-Shop Expo 2015 Prestashop Stefan Devroey
webwinkelvakdag
 
Presentatie WWV14: Bol.com de kracht van het netwerk
webwinkelvakdag
 
Omoda xsarus-wwvd-2014-1
webwinkelvakdag
 
WWV2015: Seoshop en National geographic_jeroen weijs_kirsten van der woning
webwinkelvakdag
 
5 concrete tips om de conversie met 50% te verbeteren
webwinkelvakdag
 
WWV2015: Bas van bree dinalog
webwinkelvakdag
 
WWV2015: Martijn van der geer b2 c europe
webwinkelvakdag
 
WWV2015: Emiel Bruijntjes-Copernica
webwinkelvakdag
 
Webcasting
webcastinglive
 
E-Shop Expo 2015 Prestashop Stefan Devroey
webwinkelvakdag
 
Ad

Similar to MVVM Applied: From Silverlight to Windows Phone to Windows 8 (20)

PPTX
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
READIFY
 
PPTX
What's new in asp.net mvc 4
Simone Chiaretta
 
PPTX
13 networking, mobile services, and authentication
WindowsPhoneRocks
 
PDF
Architectural considerations when building an API
Rod Hemphill
 
PDF
Microsoft .net 2015 Training in Noida Delhi ncr
Shri Prakash Pandey
 
PPTX
Intro to .NET for Government Developers
Frank La Vigne
 
PPTX
Windows Phone 7 and Silverlight
Glen Gordon
 
PPTX
Hidden Facts of .NET Language Gems
Abhishek Sur
 
PPTX
Asp.net web forms new shiny things part 1
Lohith Goudagere Nagaraj
 
PPTX
ASP.NET MVC as the next step in web development
Volodymyr Voytyshyn
 
PPTX
Iasi code camp 12 october 2013 adrian marinica - windows 8 and windows phon...
Codecamp Romania
 
PPTX
Windows Store app using XAML and C#: Enterprise Product Development
Mahmoud Hamed Mahmoud
 
PDF
Mobilizing your Existing Enterprise Applications
Nick Landry
 
PPTX
Revealing C# 5
Praveen Prajapati
 
PDF
11.Open Data Protocol(ODATA)
Nguyen Tuan
 
PPTX
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
Chalermpon Areepong
 
PPTX
Async Programming in C# 5
Pratik Khasnabis
 
PPTX
Why do I Love C#?
Abhishek Sur
 
PPTX
Advanced MVVM in Windows 8
Gill Cleeren
 
PPTX
WebAppseqweqweqweqwewqeqweqweReImagined.pptx
FaisalTiftaZany1
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
READIFY
 
What's new in asp.net mvc 4
Simone Chiaretta
 
13 networking, mobile services, and authentication
WindowsPhoneRocks
 
Architectural considerations when building an API
Rod Hemphill
 
Microsoft .net 2015 Training in Noida Delhi ncr
Shri Prakash Pandey
 
Intro to .NET for Government Developers
Frank La Vigne
 
Windows Phone 7 and Silverlight
Glen Gordon
 
Hidden Facts of .NET Language Gems
Abhishek Sur
 
Asp.net web forms new shiny things part 1
Lohith Goudagere Nagaraj
 
ASP.NET MVC as the next step in web development
Volodymyr Voytyshyn
 
Iasi code camp 12 october 2013 adrian marinica - windows 8 and windows phon...
Codecamp Romania
 
Windows Store app using XAML and C#: Enterprise Product Development
Mahmoud Hamed Mahmoud
 
Mobilizing your Existing Enterprise Applications
Nick Landry
 
Revealing C# 5
Praveen Prajapati
 
11.Open Data Protocol(ODATA)
Nguyen Tuan
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
Chalermpon Areepong
 
Async Programming in C# 5
Pratik Khasnabis
 
Why do I Love C#?
Abhishek Sur
 
Advanced MVVM in Windows 8
Gill Cleeren
 
WebAppseqweqweqweqwewqeqweqweReImagined.pptx
FaisalTiftaZany1
 
Ad

More from Microsoft Developer Network (MSDN) - Belgium and Luxembourg (20)

PPTX
Code in the Cloud - Ghent - 20 February 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PDF
Executive Summit for ISV & Application builders - Internet of Things
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Code in the Cloud - December 8th 2014
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
cloud value for application development
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Modern lifecycle management practices
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Inside the Microsoft TechDays Belgium Apps
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Windows Phone 8 Security Deep Dive
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Deep Dive into Entity Framework 6.0
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Applied MVVM in Windows 8 apps: not your typical MVVM session!
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Deep Dive and Best Practices for Windows Azure Storage Services
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Building data centric applications for web, desktop and mobile with Entity Fr...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Code in the Cloud - Ghent - 20 February 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - Internet of Things
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
cloud value for application development
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Inside the Microsoft TechDays Belgium Apps
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Applied MVVM in Windows 8 apps: not your typical MVVM session!
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Deep Dive and Best Practices for Windows Azure Storage Services
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Building data centric applications for web, desktop and mobile with Entity Fr...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 

Recently uploaded (20)

PDF
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
PDF
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PDF
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PDF
Next level data operations using Power Automate magic
Andries den Haan
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Next level data operations using Power Automate magic
Andries den Haan
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 

MVVM Applied: From Silverlight to Windows Phone to Windows 8

  • 2. Disclaimer: • I am NOT a Microsoft employee and all opinions expressed are solely my own.
  • 4. The MVC pattern: Messages DataBinding Commands View Service PropertyChanged Controller Events
  • 6. No behaviors in Windows 8  workaround: Use properties and binding  PropertyChanged event Binding PropertyChanged
  • 7. ISelectFilesService injection injection INavigationService action
  • 9. Probably not a replacement for “desktop apps” Very similar to Windows Phone apps A companion for your richer application
  • 10. public async void Get(Uri uri) { var request = new HttpRequestMessage( HttpMethod.Post, uri); Maybe the most difficult aspect var response = await Client.SendAsync(request); var result await/async can be confusing } = response.Content.ReadAsString(); Often used in Win8
  • 11. Use callbacks to async code Use interfaces even for simple model classes Share common classes, overload other classes Extend classes And if you have to
  • 12. Demo
  • 14. call to action • Check your code for possible asynchronous workflows • Check the developer preview • Stay tuned for the beta!
  • 15. http://aka.ms/mbl-win8 http://aka.ms/mbl-win8/build http://aka.ms/mbl-win8/devprev http://aka.ms/mbl-win8/store