1 / 16

Creating Windows 8 MVVM Apps

Creating Windows 8 MVVM Apps. Ash Tewari www.ashtewari.com @ashtewari. Demo. Structure and functionality of demo application. M-V-VM. Model View ViewModel. Why ?. WinRT/XAML Data Binding Data Templates Resources Commands. Why ?.

orenda
Download Presentation

Creating Windows 8 MVVM Apps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Creating Windows 8 MVVM Apps Ash Tewari www.ashtewari.com @ashtewari

  2. Demo Structure and functionality of demo application

  3. M-V-VM • Model • View • ViewModel

  4. Why ? WinRT/XAML • Data Binding • Data Templates • Resources • Commands

  5. Why ? Decouple View from its State and Behavior – Code is easy to understand, maintain, evolve and troubleshoot

  6. Why ? Testability – Automated Regressions

  7. Why ? Easily skin user interfaces

  8. Why ? Designer/Developer Workflow – Allows Specialists to work on the same project without much friction

  9. Demo Structuring the demo app to achieve separation of concerns

  10. Take Away Model does not know about View and ViewModel.

  11. Take Away ViewModel is an abstraction of the View. It encapsulates the State as well as the behavior of the View.

  12. Take Away ViewModel implements INotifyPropertyChanged.

  13. Take Away View.DataContext = ViewModel

  14. Resources • BindableMapRT • http://bindablemaprt.codeplex.com/ • Win8nl utilities • http://win8nl.codeplex.com/ • MVVMLight Toolkit • http://mvvmlight.codeplex.com/ • JSON.net • http://json.codeplex.com/

  15. Sample Application • Census Mapper • Main Branch https://github.com/ashtewari/CensusMapper • Soc Branch https://github.com/ashtewari/CensusMapper/tree/Soc

  16. Feedback Ash Tewari www.ashtewari.com @ashtewari

More Related