Laurent Bugnion Senior User Experience Integrator IdentityMine

Slides:



Advertisements
Similar presentations
Module 1: Creating an Application by Using Windows Presentation Foundation Overview of WPF Creating a Simple WPF Application Handling Events and Commands.
Advertisements

Expression Blend 4 – deep dive
MVVM Basics with Caliburn.Micro Presented by Stefan Nuxoll, Lithium PC.
Understanding the MVVM pattern
Developing HTML5 Application using MVVM pattern Pekka Ylenius.
DEEP DIVE MVVM Laurent Bugnion Director, UX Integration IdentityMine
MVVM: Filling the Pattern Gap in Silverlight Application Development Bart McDonough Principal Consultant Incline Technical Group.
USING THE MODEL-VIEW- VIEWMODEL PATTERN Laurent Bugnion Director, User Experience Integration IdentityMine
Lessons learned from developing a Windows 8 Metro application in C# Frode Nilsen Nilsen Labs Ticki.
Practical MVVM Joel Cochran.
Knockoutjs and JQuery The One-Two Punch for Richer MVC 4 Applications Connecticut.NET Developers Group November 13, 2012.
An Introduction to the Model-View-ViewModel Pattern Srsly? Another MV* Pattern? Srsly? Another MV* Pattern?
Or How I Learned to Stop Worrying and Love the Binding Bryan Anderson.
Evan Hutnick Session Roadmap  Introduction  Silverlight Foundation  The Tools of Silverlight  Layout  Databinding  Data.
WPF MVVM Training Michael Sync (Silverlight MVP).
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Laurent Bugnion Director, UX MVVM Powers Silverlight Development.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Real world Windows Phone development Igor
USING ANGULARJS WITH SITEFINITY
Building Silverlight Applications Using the MVVM pattern An Introduction by Peter Messenger Senior Developer – Qmastor
Joe xamlcoder.com/blog Silverlight / WPF Consultant.

© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg.
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
Laurent Bugnion Senior Software Engineer Siemens Building Technologies.
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
.NET Database Technologies: Introduction to WPF and Entity Framework DataBinding.
Domain Driven Design. Set of blog posts spanning 10 months – building an app Fefactored along the way code to Patterns eg repository.
Visual Basic Advanced Programming.
Rudi Grobler Session Code: WUX205.
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
Windows Phone MVVM and Unit Testing Step by Step Andy Wigley Windows Phone Development MVP, Mobile Software Consultant APPA Mundi Ltd WPH208.
Jaime Rodriguez | Microsoft Principal Technical Evangelist Laurent Bugnion | IdentityMine Senior Director XAML Deep Dive for Windows & Windows Phone Apps.
A day in the life of an Integrator Laurent Bugnion Senior User Experience Integrator IdentityMine
JAVASCRIPT WITH A VIEW Jordan Knight Solution Architect Xamling SESSION CODE: WEB305 (c) 2011 Microsoft. All rights reserved.
Nikhil Kothari Software Architect Microsoft Corporation Session Code: WUX312.
Making Posters for Conferences and Events: Getting to the Point.
WINDOWS PHONE 7.5 “MANGO” ADVANCED Laurent Bugnion Director of UX Integration IdentityMine
Windows 10 UWP MVVM In Depth
Developer Day Advanced Windows Phone 8 Development Laurent Bugnion Senior Director, IdentityMine | galasoft.ch.
Windows Phone 7 Mobile Code Camp The Why Why develop for Windows Phone 7 versus Droid or iPhone? It’s all relative to total app users. SDK and Environment.
04 |Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
Platform abstractionSeparate UI and logic.
Model View ViewModel Architecture. MVVM Architecture components.
MVVM Pattern Mahender Senior Software Engineer United Health Group.
Windows 8 apps and the MVVM pattern SILVERLIGHTSHOW.NET WEBINARS SERIES GILL CLEEREN, October 16 th
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
Programming with MVVM Miguel A. Castro Architect -
/DEV/TM #1 Building Cross-Platform Apps with Xamarin and MvvmCross Flavius-Radu DEMIAN.
Igor Ralić igrali.com Open source u razvoju Windows Phone aplikacija.
Benjamin Unit Testing & Test-Driven Development for Mere Mortals.
Working in a Mobile App Development Environment Lesson 2.
In Windows 8 Store Applications
Real world Windows Phone development
MVVM Made Simple with Prism
Ben Riga 02 | Basics of View Models Ben Riga
Build Windows 10 UWP MVVM Apps with Prism
It’s a Knockout! MVVM Style Web Development
Miguel A. Castro Architect IDesign
Quick Start Guide for Visual Studio 2010
Unit Testing & Test-Driven Development for Mere Mortals
Introduction to the MVVM Pattern
An introduction to MVVM using WPF NISCHAL S
Tech Ed North America /1/2018 4:27 PM Required Slide
Unit Testing & Test-Driven Development for Mere Mortals
Working across the .NET Continuum
XAML Deep Dive for Windows & Windows Phone Apps Jump Start
An Introduction to the Model-View-ViewModel Pattern
Presentation transcript:

Laurent Bugnion Senior User Experience Integrator IdentityMine

A weird acronym Model – View – ViewModel « MVVM in a SLOOB with SLUT » Woven into WPF/SL Some confusion: MVVM is really just the pattern The rest are helpers, practices, etc

ModelView Controller

ModelView Controller

ModelView Presentation Model (ViewModel) DataBinding

Testability, Maintainability, Blendability “The ability to be edited in Blend” (and Visual Studio designer…) Differentiate code in design and runtime Create design time data

Hello MVVM (and Hi Blend)

View ViewModel DataBindingCommandsMessages Model

View ViewModel View ViewModel View ViewModel Messages + callback

“Point of entry” for a method Can be data bound ICommand interface Execute method CanExecute method CanExecuteChanged event

Should be simple by default Possible to open filtered channels To a target Type (or an Interface) With a Token No constraints at all

Commands and RelayCommands, Messaging

“Breaking the monotony” V3 SP1 released with phone support Keep it small Keep it simple

ESSENTIALS RelayCommand Messenger ViewModelBase EXTRAS EventToCommand DispatcherHelper

Project templates (VS + Blend) Item templates (VS + Blend) Code snippets

MVVM Light, Unity, Blendability

Too much code needed INotifyPropertyChanged Commands Some operations are tricky (set focus…) Not applicable to ASP.NET, etc Message to community is not clear

“No code in the code behind” “If you put code in the View's code-behind, the MVVM police will take your family away” “No need for converters” “MVVM is only suitable for big projects” “MVVM costs performance” “MVVM is complex / makes my head hurt”

“I don’t need separation because I don’t have a designer” “You cannot use MVVM with other patterns” “MVVM will make you rich and attractive”