I've come across something called Prism a lot recently. Microsoft, who run the project, describe it as
Guidelines for composite applications in WPF and Silverlight.
Even after reading the more detailed descriptions out there, I have next to no clue what it's actually about, I'm afraid.
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.
In particular, I'm wondering about the following points:
Is Prism literally just (or mainly) a booklet, as given on the MSDN site? Does it include any libraries, if so for what exactly?
Is Prism an MVVM framework? Should I be using it as the "official Microsoft MVVM framework" over others out there or my own?
Does it provide dependency injection? Does it relate to MEF at all in this way?
Anything else I should know about what Prism does, as a WPF/Silverlight developer.