CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Glenn Block


Prism vs Framework XXX

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".

Comments

Bryan Reynolds said:

What are the other frameworks?

# May 8, 2008 5:02 AM

Sam Gentile said:

Trying to get in a habit of doing these when I get up and before getting into work. Design Patterns/DI

# May 8, 2008 7:27 AM

Rob said:

I'm assuming you are referring to Caliburn (http://caliburn.tigris.org/) and WPF CAB (http://www.codeplex.com/wpfcab) - of course I'll always be partial to Caliburn ;)

# May 8, 2008 8:43 AM

Dave Laribee said:

@Bryan

Here's another one, http://code.google.com/p/xeva/

We extracted some of the stuff from our application for public use (MIT License). The smart client stuff is in UI.Smart.

The framework is early, but we've put it in production use. We're very focused on providing a UI technology agnostic library with extreme testability that is "just enough" to get started with Composite UIs. We're also big fans of presenter first and behavior-driven interaction patterns (opening windows, closing them, etc.)

# May 8, 2008 9:05 AM

Dew Drop - May 8, 2008 | Alvin Ashcraft's Morning Dew said:

Pingback from  Dew Drop - May 8, 2008 | Alvin Ashcraft's Morning Dew

# May 8, 2008 9:19 AM

gblock said:

@Rob, I wasn't specifically referrring to Caliburn, though I knew you'd prefer it :) We've greatly appreciated your help on Prism.

# May 8, 2008 11:50 AM

Reflective Perspective - Chris Alcock » The Morning Brew #90 said:

Pingback from  Reflective Perspective - Chris Alcock  » The Morning Brew #90

# May 9, 2008 3:04 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About gblock

Glenn Block is the Technical Product Planner for the Client UX program at patterns & practices. As Product Planner he is responsible for driving the vision and creation of p&p client deliverables including the Web Client and Smart Client software factories. Prior to joining Microsoft, Glenn has lived in various roles being "in the trenches" with developers, including being responsible for the overall architecture and technology direction. He has worked in both large and small organizations building enterprise systems for financial services, manufacturing, and print & mail on multiple platforms including .NET and Java. His technology passions are in software frameworks, architecture and systems integration. He resides with his wife and 3 year old daughter in Seattle (his other passion). Check out Devlicio.us!

This Blog

Syndication

News

View Glenn Block's profile on LinkedIn

Me