Silverlight is dead! Long live MVVM!
A long time ago…
… when all we had were Win Forms…
… Microsoft released Silverlight /WPF
What’s changed?
Declarative UI (XAML)
UI thread belongs to the UI Your Weather App is not responding
UI thread belongs to the UI
Non absolute layouts
MVVM & Data Binding View Model View Model
MVVM – Model View ViewModel Boring diagrams
Separated presentation Domain Objects View Presentation Logic
Different responsibilities Domain Objects View Presentation Logic User name cannot be empty When user name entry is empty, disable submit button
MVVM - Structure Invoke Commands Change notifications
DEMO TIME
Old (ancient) idea
View Model != Code Behind
DEMO TIME
This MVVM thing is pretty cool. Silverlight RULEZ!
Silverlight is D E A D !
Silverlight is dead – O RLY? Silverlight 5 is a complete platform –Support through 10/12/2021 WP 7.5/8 WPF Yup, it is pretty dead on the web…
Separated presentation in a browser
View Model View Model MVVM in the browser
1032 pages 172 pages
View Model View Model MVVM in the browser ?
Declarative Bindings Automatic UI Refresh Dependency Tracking Templating
DEMO TIME
KnockoutJS Demo MVVM pattern –Data binding –Observables –Commands Custom bindings Promises and Deferred objects
Final (almost) thoughts Silverlight is dead (on the web)! JavaScript is here to stay… we need client side code… JavaScript has good parts –Object oriented –Functional –Dynamic
Final thoughts There is more to explore and learn –HTML5, CSS3 –REST, JSON –Web Sockets –Web Storage –Worker Threads –Canvas –Audio/Video
Technology changes – focus on principles
Making Waves Activity Feed (activityfeed.codeplex.com) Forms Designer