Creating UX Applications that Target both Silverlight and WPF

943 views

Published on

Creating UX Applications that Target both Silverlight and WPF

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
943
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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.
  • Creating UX Applications that Target both Silverlight and WPF

    1. 1. <ul><li>Christian Thilmany </li></ul><ul><li>Blog: www.flyover18.com </li></ul><ul><li>UX Architect </li></ul><ul><li>Microsoft Corporation </li></ul>
    2. 2. Session Objectives And Takeaways <ul><li>Session Objective(s): </li></ul><ul><ul><li>Able to determine RIA composite application scenarios and recommend solutions for the scenarios using Prism for Silverlight and WPF. </li></ul></ul><ul><li>Prism – V2 out now </li></ul><ul><li>Provides written and code-example guidance for composite solution space </li></ul><ul><li>Supports targeting both Silverlight & WPF composite applications </li></ul>
    3. 8. Prism-What’s in the box <ul><li>Prism – Composite Client Application Guidance for WPF and Silverlight </li></ul><ul><ul><li>Library </li></ul></ul><ul><ul><li>Reference Implementation </li></ul></ul><ul><ul><li>Documentation </li></ul></ul><ul><ul><li>Quick-Starts & How-To’s </li></ul></ul><ul><ul><li>Community – CodePlex </li></ul></ul><ul><li>Prism 1.0 – WPF </li></ul><ul><ul><li>Released July 2008 </li></ul></ul><ul><li>Prism 2.0 – Silverlight </li></ul><ul><ul><li>Just Released Feb 2009! </li></ul></ul>
    4. 10. Rough Cut Editor Microsoft Confidential
    5. 11. New In Prism 2.0!
    6. 12. Modules <ul><li>Unit Of Application Assembly </li></ul><ul><ul><li>Collection of Related Components </li></ul></ul><ul><ul><li>Feature, Services, Views, Data Access </li></ul></ul><ul><ul><li>Mandatory or Optional or Role Specific </li></ul></ul><ul><ul><li>Example: Banking app: Checking Module, Credit Card Module, Trading Module, News Module </li></ul></ul><ul><li>Unit Of Development </li></ul><ul><ul><li>Independent Development/Testing </li></ul></ul><ul><li>Unit Of Deployment </li></ul><ul><ul><li>Up-Front, Background or On-Demand </li></ul></ul>
    7. 13. Modules <ul><li>Module Discovery </li></ul><ul><ul><li>Pluggable Catalogs </li></ul></ul><ul><li>Module Loading </li></ul><ul><ul><li>Background or On-Demand </li></ul></ul>Module Loader Extended In Prism 2.0!
    8. 14. Modules & Catalogs
    9. 15. UI Composition <ul><li>Shell – Application Host Window </li></ul><ul><li>Regions – Named Areas For View Placement </li></ul><ul><li>Views – Encapsulate UI & Presentation Logic </li></ul>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” />
    10. 16. UI Composition <ul><li>View Discovery Composition: </li></ul><ul><ul><li>Less Complex </li></ul></ul><ul><ul><li>Black Box ‘App Assembly’ Composition </li></ul></ul><ul><ul><li>Select Views & Pull into Region </li></ul></ul>Region Region Region New In Prism 2.0! < TabControl RegionManager.RegionName = &quot;MainRegion&quot;> regionManager. RegisterViewWithRegion( &quot;MainRegion&quot;, typeof ( MainView ) );
    11. 17. Commands and Events <ul><li>Delegate & Composite Commands </li></ul><ul><ul><li>Simplified Command Handling </li></ul></ul><ul><li>Event Aggregator </li></ul><ul><ul><li>Loosely Coupled Pub/Sub Events </li></ul></ul>Module B Customer Presenter Module A Order Presenter Event Aggregator Subscribe Publish Event
    12. 18. 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
    13. 19. Multi-Targeting <ul><li>User Experiences </li></ul><ul><ul><li>Desktop – In the Office, Full Functionality, Offline </li></ul></ul><ul><ul><li>RIA – Out of the Office, Functional Subset, Online </li></ul></ul>WPF Application Silverlight (RIA) Application BROWSER DESKTOP CLR - Silverlight CLR Desktop BCL BCL
    14. 20. Multi-Targeting: Strategies <ul><li>Start with LCD </li></ul><ul><li>Use Links and Parallel Project Structures </li></ul><ul><li>Separated Presentation Strategies </li></ul><ul><li>Keep single source </li></ul><ul><li>If not, apply the sieve </li></ul>#IF SILVERLIGHT Partial Classes Partial Methods Separate Classes Rewrite the Code
    15. 21. Multi-Targeting WPF CLR - Silverlight CLR Desktop BCL BCL BROWSER DESKTOP Controllers Models Presenters Views Models Controllers Presenters Views
    16. 22. Stock Trader RI
    17. 23. Where Can You Find It? <ul><li>www.microsoft.com/compositewpf </li></ul><ul><li>www.codeplex.com/compositewpf </li></ul><ul><li>http://www.flyover18.com </li></ul>
    18. 24. Summary <ul><li>Prism </li></ul><ul><ul><li>Library of Patterns for Composite Client Applications </li></ul></ul><ul><ul><li>Targets WPF Desktop and Silverlight RIA Applications </li></ul></ul><ul><ul><li>View Discovery Composition, Separated Presentation Patterns, Module Catalog </li></ul></ul><ul><ul><li>Multi-Targeting to reuse code between Silverlight and WPF </li></ul></ul><ul><li>Download from CodePlex and send us feedback </li></ul>
    19. 25. © 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.

    ×