I once said something in this section about IE:
IE itself is written in C ++ and makes extensive use of COM. The extensibility model is also based on COM. In my experience, you have the following tradeoffs:
- ++ COM. , , COM-, .. , IUnknown, IClassFactory, IObjectWithSite .., IConnectionPoint IConnectionPointContainer, , , , . , .
- ATL/MFC ++. , COM- . - , , . , .
- # GAC, . v4 . , IE . interop (, , , pinvoke.net ), , . , IE mscorewhatever, YourExtension.dll, /. Microsoft , Shell, , iexplore.exe , explorer.exe. , , .
, , , , .
Firefox, XPCOM. XUL + JavaScript, script. 99% . -, , . Cooliris, XPCOM ( NPAPI).
Chrome - Javascript , Chrome, - , NPAPI, C API.
, , Javascript, XML HTML, IE , . , ++ ( ++ C NPAPI). #, , IE #.