Search code examples
wpfmvvmprismmefmodularity

Framework for modular WPF application?


I’m looking for solution on architecting modular application model in WPF. For now I was using Devexpress POCO MVVM for architecting my WPF apps but is lack of modular extensibility and I’m looking something to work well with my current design and allow to build application composed with modules. My expectations are:

  1. Modules are placed in remote location
  2. Framework can download latest version when application starts (or demand module)
  3. Application should load only subset of all modules basing on permissions of currently logged user
  4. Framework allow integration with GUI – allowing to load list of modules and put graphical representation of module in some part of my application
  5. Library is live and not closed project

I’m thinking about PRISM but this framework always looked little complex and heavy but maybe it was wrong impression. Another library is MEF but I don’t know if it fits my expectations.

Can I ask of some suggestion for modern library which will be good for my needs?


Solution

  • PRISM is a large library but is made of many optional parts making it easy to adopt just the parts you need (its not all or nothing).

    Specifically it does do modularisation, with on demand load, and it does do UI composition from modules.

    Its also open source.

    Versions are valuable for desktop apps (WPF), Universal apps (Desktop app, tablet, phone and possibly iOS and Android via Xamarin - but I'm not sure about that!) so there should be a PRISM for your chosen platforms!