What is common and different between MEF (Managed Extensibility Framework) and the Eclipse platform? I feel MEF is very similar to Eclipse with DI added.
Your thoughts?
What is common and different between MEF (Managed Extensibility Framework) and the Eclipse platform? I feel MEF is very similar to Eclipse with DI added.
Your thoughts?
MEF is more comparable to OSGi than to Eclipse.
See this question: "Is MEF OSGi for .NET?".
There are quite a few class of applications that REQUIRE extensibility to be truly useful and succeed in gaining mindshare. Two of the biggest classes of applications that I've personally worked with that require extensibility are IDEs and Content Management Systems (CMS).
Microsoft is creating MEF to be a end all solution when you need to support extensibility in your applications. The MEF team partnered up with the Visual Studio team and the WPF editor in Visual Studio 2010 uses the MEF framework extensively. However the MEF team is very clear in stating that any .NET application that requires extensibility will benefit from using te MEF framework, not just IDEs. The fact that the MEF framework is getting it's first real world test being used in an IDE is just a small coincidence.
The Eclipse Platform on the other hand is a complete set of components that are required to build an IDE. By using a subset of these components, it is possible to create rich applications that are not IDEs. However it is not clear as to what extent their Plug-in Development Environment is usable across the board.
In other words, the MEF is being engineered to be usable across the board in any and all .NET applications that require extensibility, but it just so happens that it's real world debut is going to take place in Visual Studio 2010.
The Eclipse Platform started out as being a set of components that are required to build an IDE. By choosing a subset of these components, however you can build other applications as well.