Christian Thilmany Blog: www.flyover18.com UX Architect Microsoft Corporation
Session Objectives And Takeaways Session Objective(s):  Able to determine RIA composite application scenarios and recommend solutions for the scenarios using Prism for Silverlight and WPF. Prism – V2 out now Provides written and code-example guidance for composite solution space Supports targeting both Silverlight & WPF composite applications
 
 
 
 
 
Prism-What’s in the box Prism – Composite Client Application Guidance for WPF and Silverlight Library Reference Implementation Documentation Quick-Starts & How-To’s Community – CodePlex Prism 1.0 – WPF Released July 2008 Prism 2.0 – Silverlight Just Released Feb 2009!
 
Rough Cut Editor Microsoft Confidential
New In Prism 2.0!
Modules Unit Of Application Assembly Collection of Related Components Feature, Services, Views, Data Access Mandatory or Optional or Role Specific Example: Banking app: Checking Module, Credit Card Module, Trading Module, News Module Unit Of Development Independent Development/Testing Unit Of Deployment Up-Front, Background or On-Demand
Modules Module Discovery Pluggable Catalogs Module Loading Background or On-Demand Module Loader Extended In Prism 2.0!
Modules & Catalogs
UI Composition Shell – Application Host Window Regions – Named Areas For View Placement Views – Encapsulate UI & Presentation Logic Region Region Region // View Injection IPositionPresentationModel   presentationModel = …; IRegion  mainRegion =   regionManager.Regions[  &quot;MainRegion&quot;  ]; mainRegion.Add( presentationModel.View ); < TabControl   RegionManager.RegionName =   &quot;MainRegion&quot;> < ItemsControl   RegionManager.RegionName =   “ResearchRegion” /> < ContentControl RegionManager.RegionName =   “ActionRegion” />
UI Composition View Discovery Composition: Less Complex Black Box ‘App Assembly’ Composition Select Views & Pull into Region Region Region Region New In Prism 2.0! < TabControl   RegionManager.RegionName =   &quot;MainRegion&quot;> regionManager. RegisterViewWithRegion( &quot;MainRegion&quot;, typeof (   MainView ) );
Commands and Events Delegate & Composite Commands Simplified Command Handling Event Aggregator Loosely Coupled Pub/Sub Events Module B Customer Presenter Module A Order Presenter Event Aggregator Subscribe Publish Event
Prism Silverlight Logical Architecture HOST APPLICATION LOADING SERVICES CORE SERVICES MODULE PREFFERED SERVICES Modules MODULES Presenter View Model ModuleCatalog Module Loader EventAggregator Logging RegionManager Unity Module Initializer Model
Multi-Targeting User Experiences Desktop – In the Office, Full Functionality, Offline  RIA – Out of the Office, Functional Subset, Online WPF Application Silverlight (RIA) Application BROWSER DESKTOP CLR - Silverlight CLR Desktop BCL BCL
Multi-Targeting: Strategies Start with LCD Use Links and Parallel Project Structures Separated Presentation Strategies Keep single source If not, apply the sieve #IF SILVERLIGHT Partial Classes Partial Methods Separate Classes Rewrite the Code
Multi-Targeting WPF CLR - Silverlight CLR Desktop BCL BCL BROWSER DESKTOP Controllers Models Presenters Views Models Controllers Presenters Views
Stock Trader RI
Where Can You Find It? www.microsoft.com/compositewpf www.codeplex.com/compositewpf http://www.flyover18.com
Summary Prism Library of Patterns for Composite Client Applications Targets WPF Desktop and Silverlight RIA Applications View Discovery Composition, Separated Presentation Patterns, Module Catalog Multi-Targeting to reuse code between Silverlight and WPF Download from CodePlex and send us feedback
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions,  it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Creating UX Applications that Target both Silverlight and WPF

  • 1.
    Christian Thilmany Blog:www.flyover18.com UX Architect Microsoft Corporation
  • 2.
    Session Objectives AndTakeaways Session Objective(s): Able to determine RIA composite application scenarios and recommend solutions for the scenarios using Prism for Silverlight and WPF. Prism – V2 out now Provides written and code-example guidance for composite solution space Supports targeting both Silverlight & WPF composite applications
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    Prism-What’s in thebox Prism – Composite Client Application Guidance for WPF and Silverlight Library Reference Implementation Documentation Quick-Starts & How-To’s Community – CodePlex Prism 1.0 – WPF Released July 2008 Prism 2.0 – Silverlight Just Released Feb 2009!
  • 9.
  • 10.
    Rough Cut EditorMicrosoft Confidential
  • 11.
  • 12.
    Modules Unit OfApplication Assembly Collection of Related Components Feature, Services, Views, Data Access Mandatory or Optional or Role Specific Example: Banking app: Checking Module, Credit Card Module, Trading Module, News Module Unit Of Development Independent Development/Testing Unit Of Deployment Up-Front, Background or On-Demand
  • 13.
    Modules Module DiscoveryPluggable Catalogs Module Loading Background or On-Demand Module Loader Extended In Prism 2.0!
  • 14.
  • 15.
    UI Composition Shell– Application Host Window Regions – Named Areas For View Placement Views – Encapsulate UI & Presentation Logic Region Region Region // View Injection IPositionPresentationModel presentationModel = …; IRegion mainRegion = regionManager.Regions[ &quot;MainRegion&quot; ]; mainRegion.Add( presentationModel.View ); < TabControl RegionManager.RegionName = &quot;MainRegion&quot;> < ItemsControl RegionManager.RegionName = “ResearchRegion” /> < ContentControl RegionManager.RegionName = “ActionRegion” />
  • 16.
    UI Composition ViewDiscovery Composition: Less Complex Black Box ‘App Assembly’ Composition Select Views & Pull into Region Region Region Region New In Prism 2.0! < TabControl RegionManager.RegionName = &quot;MainRegion&quot;> regionManager. RegisterViewWithRegion( &quot;MainRegion&quot;, typeof ( MainView ) );
  • 17.
    Commands and EventsDelegate & Composite Commands Simplified Command Handling Event Aggregator Loosely Coupled Pub/Sub Events Module B Customer Presenter Module A Order Presenter Event Aggregator Subscribe Publish Event
  • 18.
    Prism Silverlight LogicalArchitecture HOST APPLICATION LOADING SERVICES CORE SERVICES MODULE PREFFERED SERVICES Modules MODULES Presenter View Model ModuleCatalog Module Loader EventAggregator Logging RegionManager Unity Module Initializer Model
  • 19.
    Multi-Targeting User ExperiencesDesktop – In the Office, Full Functionality, Offline RIA – Out of the Office, Functional Subset, Online WPF Application Silverlight (RIA) Application BROWSER DESKTOP CLR - Silverlight CLR Desktop BCL BCL
  • 20.
    Multi-Targeting: Strategies Startwith LCD Use Links and Parallel Project Structures Separated Presentation Strategies Keep single source If not, apply the sieve #IF SILVERLIGHT Partial Classes Partial Methods Separate Classes Rewrite the Code
  • 21.
    Multi-Targeting WPF CLR- Silverlight CLR Desktop BCL BCL BROWSER DESKTOP Controllers Models Presenters Views Models Controllers Presenters Views
  • 22.
  • 23.
    Where Can YouFind It? www.microsoft.com/compositewpf www.codeplex.com/compositewpf http://www.flyover18.com
  • 24.
    Summary Prism Libraryof Patterns for Composite Client Applications Targets WPF Desktop and Silverlight RIA Applications View Discovery Composition, Separated Presentation Patterns, Module Catalog Multi-Targeting to reuse code between Silverlight and WPF Download from CodePlex and send us feedback
  • 25.
    © 2009 MicrosoftCorporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  • #2 06/08/09 00:16 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.