Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Add-in Framework vs OSGi?

Tags:

java

c#

mef

osgi

maf

How does MAF compare to OSGi?

MAF is not something that I could find easily, and I am wandering why people don't recommend it as much as, say, MEF? It seems to be similar to OSGi, at least from my first glance.

like image 505
Andriy Drozdyuk Avatar asked May 25 '12 17:05

Andriy Drozdyuk


1 Answers

Apart from the obvious differences:

MAF

  • driven by Microsoft, therefore proprietary
  • language is C#

OSGi

  • driven by a consortium, open
  • language is Java

There are also a lot of functional differences. For example MAF is more about a host<->plugins architecture, where you have one main host and the plugins provide additions to it; whereas OSGi provides a framework where modules talk not only to one central unit, but also to each other.

Writing plugins for MAF is quite heavy - you have to provide 7 parts - the host, host view, host adapter, contract, add-in adapter, add-in view, add-in - in order to make the whole work. With OSGi you have simply a normal Java JAR file with a manifest file where you declare dependencies, and optionally also provide headers for handling IoC (if you prefer to use the inversion of control pattern).

like image 138
pooh Avatar answered Sep 21 '22 03:09

pooh