title: What is Prism for WPF?
body: <p>I've come across something called <a href="http://compositewpf.codeplex.com/" rel="noreferrer"><em>Prism</em></a> a lot recently. Microsoft, who run the project, describe it as </p>
  
  <blockquote>
    <p>Guidelines for composite applications in WPF and Silverlight. </p>
  </blockquote>
  
  <p>Even after reading the more detailed descriptions out there, I have next to no clue what it's actually about, I'm afraid.</p>
  
  <p>I'm hoping here that someone could give me a clear succinct explanation of what Prism actually is and why I should learn it. I have been a WPF developer for a couple of years now, used MVVM my fair share, and have lately encountered people using Prism, but personally feel a bit out of the loop here.</p>
  
  <p>In particular, I'm wondering about the following points:</p>
  
  <ul>
  <li><p>Is Prism literally just (or mainly) a booklet, as given <a href="http://msdn.microsoft.com/en-us/library/gg406140.aspx" rel="noreferrer">on the MSDN site</a>? Does it include any libraries, if so for what exactly?</p></li>
  <li><p>Is Prism an MVVM framework? Should I be using it as the "official Microsoft MVVM framework" over others out there or my own?</p></li>
  <li><p>Does it provide dependency injection? Does it relate to MEF at all in this way?</p></li>
  <li><p>Anything else I should know about what Prism does, as a WPF/Silverlight developer.</p></li>
  </ul>