Your SlideShare is downloading. ×
Shine a Light with Prism (the Composite Application Guidance for WPF and Silverlight)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Shine a Light with Prism (the Composite Application Guidance for WPF and Silverlight)

2,069

Published on

This is the slide deck of the session I presented at VSLive San Francisco 2009 on Feb. 26, 2009

This is the slide deck of the session I presented at VSLive San Francisco 2009 on Feb. 26, 2009

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

No Downloads
Views
Total Views
2,069
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
80
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • MGB 2003 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • Transcript

    • 1. Shine a Light with “Prism” Dave Bost Developer Evangelist http://davebost.com/blog Pre-requisites for this presentation: 1) IoC, DI 2) Presentation patterns Level: Intermediate
    • 2. http://thirstydeveloper.com “ Looking at someone’s code, but with audio”
    • 3. 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 in Feb shipped Feb. ‘09 (Silverlight)
      • Provides written and code-example guidance for composite solution space
      • Supports targeting both Silverlight & WPF composite applications
    • 4. Are you building this?
    • 5. Or something like this?
    • 6. The Challenge
    • 7. The Solution
    • 8. Consider Prism
      • Provides Tools to help with separating your app and composing at run-time:
        • Tools to help you discover the pieces
        • Strategies and guidance for recomposition
        • Approaches for communication between these separate components
        • Event help with targeting both Silverlight and WPF
    • 9. 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
        • Released February 2009
    • 10. Reference Implementation
    • 11. Prism Core Concepts
    • 12. 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
        • Independent Testing
      • Unit Of Deployment
        • Up-Front, Background or On-Demand
    • 13. Modules
      • Module Discovery
        • Pluggable Catalogs
      • Module Loading
        • Background or On-Demand
      Module Loader Extended In Prism 2.0!
    • 14. Demo Modules & Catalogs
    • 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
      • 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 ) );
    • 17. Demo UI Composition
    • 18. Commands and Events
      • Delegate & Composite Commands
        • Simplified Command Handling
      • Event Aggregator
        • Loosely Coupled Pub/Sub Events
      Event Aggregator Module B Customer Presenter Module A Order Presenter Subscribe Publish Event
    • 19. Prism Silverlight Logical Architecture HOST APPLICATION LOADING SERVICES CORE SERVICES MODULE PROFFERED SERVICES Modules MODULES Presenter Model View Model ModuleCatalog Module Loader EventAggregator Logging RegionManager Unity Module Initializer
    • 20. Multi-Targeting
      • User Experiences
        • Desktop – In the Office, Full Functionality, Offline
        • RIA – Out of the Office, Functional Subset, Online
      WPF Application Silverlight (RIA) Application CLR - Silverlight CLR Desktop BCL BCL BROWSER DESKTOP
    • 21. 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
    • 22. Multi-Targeting Controllers Models Presenters Views Views WPF CLR - Silverlight CLR Desktop BCL BCL BROWSER DESKTOP Models Controllers Presenters
    • 23. Demo Multi-Targeting
    • 24. Where Can You Find It?
      • www.microsoft.com/compositewpf
      • www.codeplex.com/compositewpf
      • http://msdn.microsoft.com/practices
      • http://blogs.msdn.com/bobbrum
      • http://blogs.msdn.com/blaine
    • 25. Summary
      • Prism
        • Library of Patterns for Composite Client Applications
        • Targets WPF Desktop and Silverlight RIA Applications
        • View Disovery Composition, Separated Presentation Patterns, Module Catalog
        • Multi-Targeting to reuse code between Silverlight and WPF
      • Download from CodePlex and send us feedback
    • 26. Dave Bost thank you! http://davebost.com http://twitter.com/davebost Q&A
    • 27.  
    • 28.  

    ×