just released: composite application guidance for wpf and silverlight – February 2008

I’m really happy and extremely proud to say that we have launched the Prism V2 (the Composite Application Guidance for WPF and Silverlight)

What is prism V2?

Prism is a set of guidance and reusable components that help you create composite applications in WPF and / or Silverlight.  

Prism consists of:

  • Reusable library components, for both WPF and Silverlight.
  • All source code, Unit tests, Automated acceptance tests.
  • Hands on labs (26) that guide you through all aspects of creating a composite application.
  • Quickstarts (9) that illustrate all components of prism.
  • A completely functional reference implementation that shows you how to build a composite application.
  • A lot of documentation and guidance:
    • How to create composite applications
    • How to use the Prism libraries
    • How to use Dependency Injection in your application (Unity)
    • How to create applications that target both WPF and Sliverlight.
    • Which design patterns were used to create prism
    • How to use separated presentation patterns (like Model – View – Viewmodel) to test your UI logic
    • And much, much more.
  • Api Reference documentation
  • A Visual Studio Plugin that helps you to target both WPF and Silverlight with a single codebase. 

When should you consider using Prism V2?

You should consider using prism:

  • If you want to create modular applications, in WPF and / or Silverlight so you can Develop, Test, Version and Deploy your modules independently of each other.
  • If you want to create an application that targets both WPF and Silverlight with a single codebase, or at least reuse a lot of code assets between WPF and Sliverlight.
  • If you want to minimize initial download size Silverlight applications. Prism allows you to just download the minimum of functionality you need to start your application. Other modules can be downloaded on a background thread or on demand.
  • If you are interested in using separated presentation patterns, because you want to create Unit Tests for your UI logic or if you want to make it easier to reskin your application.
  • If you think Prism is Cool :) We certainly do!

What has changed?

A lot of people are using the Composite Application Block for .Net and the Smart Client Software Factory. Although these components definitely addressed the problem space, a lot of people found it complex, hard to use and very heavyweight. It also only targeted windows forms. Also, the So when we created Prism V1, we wanted to take advantage of the power of WPf. We also took a very minimalistic approach and tried very hard to make it a lot easier to use.

If you are interested in the differences between the Composite application block and Prism V1, check this document:


For Prism V2, most of the changes have revolved around supporting Silverlight with the same codebase. Check this document if you are currently using Prism V1 and are considering upgrading:



Where can you find prism V2?

Prism V2 on MSDN:


Prism V2 on Codeplex:


You can download Prism V2 from:


And the CHM help files:




All feedback on Prism is welcome. Really! We need feedback from the community to ensure we build the stuff you need!

  • If you are using Prism and you don’t like it (or parts of it), let us know, so we can address those issues in future versions.
  • If you are experiencing difficulties, let us know! Post a question on the forums on Codeplex (https://www.codeplex.com/CompositeWPF/Thread/List.aspx, or send me a message through my blog). We will be actively monitoring the forums and if we can, we will help!
  • Hopefully, you are using Prism and you like it. If so, we also love to know! What kind of application are you using Prism for? And of course, Let us know the features you really liked, so we don’t cut your favorite feature in a future version!

Hope you like Prism V2 as much as we enjoyed building it.