I'm currently working on a project (very early stage) and the goal is to create modular application, that is easily scalable by adding new modules. Modules can be anything from simple function to complex plugin (functionality, ui, ...). The core of the application contains parts, that will be identical in all configurations of the app (Login, Settings, some generic functionality) and the logic for integrating the plugins (how to load them, how and where to add new ui elements, ...). I'm using WPF with MVVM pattern (custom MVVM framework). I'm also using DevExpress.
I have done some research and I found MEF. It seems like really good way to implement modularity/extensibility. I have done some tests and it seems like it could work. However I have not found any information on performance of MEF. I'm a little bit worried about how many modules can use. Lest say I would have 40 modules. 10 very simple (single functions), 20 medium complexity (something like export list to excel with some formatting), 10 more complex (module that has some ui elements, several windows with visualization - charts, more complex logic, ...). Would startup times be affected a lot by this? Will the application run ok or is this a big no-no. Is it somehow resource intensive (cpu, ram) compare to regular applications (all code is part of the application).
I would greatly appreciate any advice in this regard (Or if there is some other/better way to do this).