http://www.flickr.com/photos/mukluk/288925731/

There's been a bunch of talk on the net comparing Prism to other frameworks that exist. In many cases comparisons are being made based on feature parity and such. I think it's important to make the distinction of why Prism is different.

Prism is a set of guidance for building Composite UI applications with WPF. It is not a framework, though it includes a light framework that was refactored out of building the guidance. This is actually a very small part of it. Here are some of the things that are different about Prism.

  • Built with some of the leading WPF experts in the industry.
  • Includes a reference implementation that was developed under the review of more than 25 industry experts, including several fortune 500 companies, the WPF team and the .NET product teams.
  • Includes comprehensive documentation on building Composite UI applications, what kinds of challenges they solve, when they are appropriate, which design patterns and principles they incorporate.
  • Includes How-Tos walking through how to implement the various composite functionality within your apps.
  • Includes several Quickstarts designed to ease adoption, and to illustrate specific aspects of building Composite UIs.
  • Allows customers to incrementally adopt it in their existing WPF applications rather than starting from scratch.
  • Incorporates a Composition model that is non-invasive.
  • Fully black-box and white-box tested.
  • Built entirely with Test Driven Development. Full code coverage and unit test suites.

This does not mean that Prism is the end-all solution, as I have said many times that is not. It does mean however that is much more than a framework with a bucket of features. We're not building it to be feature-laden, we're building it to best address a specific set of scenarios.

As a friend of mine told me, "less features is a feature".