Prism Has Moved
Prism has a
new team and a
new home on GitHub.
Submit issues on the
new Prism issue tracker.
Have a feature you’d like to see included in Prism?
Submit your PR.
Announcements
- Prism grows up -
.NET Blog. Prism will is now open source!
- Prism for WPF now uses the Apache 2.0 license. See associated
blog post.
- Prism.Mvvm and Prism.PubSubEvents now support Windows Phone 8.1 and Universal Apps. See associated
blog post.
- Just released Prism Library 5.0 for WPF. For more information go
here.
- Prism 5.0 now supports Unity 3.5 at http://aka.ms/prism-wpf-code.
- Prism 4.1: can be found
here.
Overview
Prism provides guidance designed to help you more easily design and build rich, flexible, and easy-to-maintain Windows Presentation Foundation (WPF) desktop applications, Silverlight Rich Internet Applications (RIAs), and Windows Phone 7 applications. Using
design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but that can be easily
and seamlessly integrated into the overall application. These types of applications are known as composite applications.
Prism includes reference implementations, QuickStarts, reusable library code (the Prism Library), and extensive documentation. This version of Prism targets the Microsoft .NET Framework 4.0 and Silverlight 4 and includes new guidance around the Model-View-ViewModel
(MVVM) pattern, navigation, and the Managed Extensibility Framework (MEF). Because Prism is built on the .NET Framework 4.0 (which includes WPF) and Silverlight 4, familiarity with these technologies is useful for evaluating and adopting Prism.
Intended Audience
Prism is intended for software developers building WPF or Silverlight applications that typically feature multiple screens, rich user interaction and data visualization, and that embody significant presentation and business logic. These applications typically
interact with a number of back-end systems and services and, using a layered architecture, may be physically deployed across multiple tiers. It is expected that the application will evolve significantly over its lifetime in response to new requirements and
business opportunities. In short, these applications are "built to last" and "built for change." Applications that do not demand these characteristics may not benefit from using Prism.
It should be noted that while Prism is not difficult to learn, developers must be ready and willing to embrace patterns and practices that may be new to them. Management understanding and commitment is crucial, and the project deadline must accommodate an investment
of time up front for learning these patterns and practices.
Getting Started
Additional Links
- The patterns & practices road-map can be found
here.
- The scope for Prism for Windows Runtime project can be found
here.
Previous Releases
- Prism 2.1 targeting
Visual Studio 2008, WPF and Silverlight 3, named Composite Application Guidance on
MSDN.
- To learn about upgrading from previous versions of Prism, go
here.