Prism helps to create flexible applications by allowing them to be more easily updated as new capabilities are developed and integrated. Prism also allows WPF applications to be developed using common services and components, allowing the application to be deployed and consumed in the most appropriate way.
Learn Prism. It's useful for all but trivial apps. It does a good job reducing the complexity of WPF applications, and it reduces coupling between the parts of an app. Once you get the hang of it, it really does make apps easier to maintain and develop.
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF. Note: There is a project download attached for your reference. The source code is free to use and developed only for learning purposes.
What is PRISM? Prism provides guidance to help you more easily design and build, flexible, and easy-to-maintain client business apps that run on Windows Runtime, Windows Presentation Foundation (WPF) desktop, Silverlight, or Windows Phone .
Prism is the Microsoft Patterns and Practices Team official guidance for building "composite applications" in WPF and Silverlight.
Its intended to provide guidance on the best practices for building large scale applications which are flexible in terms of development and maintainability.
This includes guidance on dependency injection (via Unity or MEF), layout (including using MVVM), composite event handling, etc.
Is Prism literally just (or mainly) a booklet, as given on the MSDN site? Does it include any libraries, if so for what exactly?
It is a book, but also includes the libraries for support (on the GitHub site).
Is Prism an MVVM framework? Should I be using it as the "official Microsoft MVVM framework" over others out there or my own?
Yes and no. It includes guidance for using MVVM, but is far more than an MVVM framework. It's really not, in and of itself, an "MVVM framework" - though it does include MVVM guidance.
Does it provide dependency injection? Does it relate to MEF at all in this way?
Yes. It originally included Unity, but the latest release includes using MEF for DI.
Anything else I should know about what Prism does, as a WPF/Silverlight developer.
It's worth taking a look at how they do things. They have a very elaborate "region" concept, as well as good event aggregation support. It also includes good practices for developing against WPF, Silverlight, and Windows Phone simulataneously.
It's a framework for building WPF and Silverlight apps.
http://compositewpf.codeplex.com/
It used to be called "Prism" before Microsoft renamed it to "CompositeWPF."
Answers:
1) Prism is an MVVM framework to use as a foundation for your applications
2) I suggest so depending on your specific requirements. You should post another question with specific details so you can get some specific answers.
3) Prism uses dependency injection (Unity) but does not "provide" it
4) Imo, Prism provides a lot of functionality but is heavy on the learning curve. For small projects with you as the sole developer, you may not need the abstraction and tools that it provides.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With