This project has moved and is read-only. For the latest updates, please go here.

MEF Research VS OSGI (Eclipse Plugins) & Unification

Dec 15, 2009 at 10:53 PM

Hi All,

First off, I like MEF. I think its brilliant in its easiness.  But, I've also found OSGI of the JAVA platform always quite charming, even though I am 100% .NET developer.  Now,
i don't want to start a flame war of fanboys but more a professional discussion about the pro's and cons of both implementations.  As an developer
/engineer i simply want the best solution/concept in whatever language it has been writing in originally.

When i look at MEF, i see an awsome IoC container on steroids, (Yes i know its not a pure IoC but still comes close) , but apart from joy i am also a bit worried about 
the direction and maturity of the product. What i am missing is a bit of unification of plugin models across all Microsoft products. I think it is really added value to a plugin framework
when its unified. Thus having an unified plugin model for Word/Excell/Acces etc, SharePoint, and Visual Studio, so that developers don't have to learn the concepts
over and over again, plus it truly motivates sharing of components/services/tools etc across products.  Now we developers need to learn an seperate plugin model for SharePoint, VS,
Word, Shell etc, even individual components have sometimes their own plugin model.  

What i like about OSGI (in the eclipse plugin framework is the declarable XML configuration and the easy pluggability with extension points, schema's and plugins, and the 
possibility to add features without writing code, just trough XML using a bundle editor). 

Is there anything planned for something similar planned for MEF?

In such an scenario, where plugins and extension points can be defined declaratively, it would for instance be really easy to add new eventhandlers trough this XML, add buttons, commands  & menu's etc to for instance sharepoint or visual studio because it will then use an UNIFIED PLUGIN MODEL  provided by an MEF/OSGI hybrid like framework. Im not saying on size fits all. But i think that
thinking broader than just the average application would be good.

Please if someone has ideas on this, let me know :)