XP-COM Basics

It's hard to understand Gecko's inner workings without some familiarity with XP-COM, a cross- platform Component Object Model (COM) that allows objects to query each other for capabilities and interfaces, and invoke functions. From a development standpoint, XP-COM offers a strategy for dynamically constructing applications from object components using abstract binary interfaces. It offers a means to build complex applications from not-so-complex objects at runtime rather than at compile time. As a result, it makes integrating new technologies far easier. Of course, XP-COM does come at the expense of increased complexity -- mostly due to the added burden of reference counting.

Since XP-COM is a cross-platform implementation of COM (the very one promoted by Microsoft and Digital), you can refer to any one of a number of excellent books on the subject. I'm partial to Don Box's Essential COM, published by Addison Wesley. Just keep in mind that Netscape tried to maintain the overall flavor of COM in its implementation of Gecko. Most everything that you know about COM also applies to XP-COM, with the added bonus that it works on Macintosh and UNIX. -- Rick Gessner