Creating XPCOM Components

Creating XPCOM Components

This is a book about Gecko, an open source web browser layout engine used in all Mozilla-branded software and its derivatives, and about creating XPCOM components for Gecko-based applications.

Publication date: 31 Dec 2003

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 13,091

Type: N/A

Publisher: Brownhen Publishing

License: Open Publication License

Post time: 03 Dec 2006 08:17:50

Creating XPCOM Components

Creating XPCOM Components This is a book about Gecko, an open source web browser layout engine used in all Mozilla-branded software and its derivatives, and about creating XPCOM components for Gecko-based applications.
Tag(s): Web Design and Development
Publication date: 31 Dec 2003
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 13,091
Document Type: N/A
Publisher: Brownhen Publishing
License: Open Publication License
Post time: 03 Dec 2006 08:17:50
Summary/Excerpts of (and not a substitute for) the Open Publication License:
The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction. 

Click here to read the full license.
Book Excerpts:

This is a book about Gecko, and about creating XPCOM components for Gecko-based applications. Gecko is the open source, free software web browser layout engine used in all Mozilla-branded software and its derivatives, including later Netscape releases. XPCOM stands for the Cross Platform Component Object Model. As this name implies, XPCOM is similar to Microsoft COM.

Though the emphasis is on the practical steps taken to make a C++ code into a component that can be used in Gecko, these steps will also provide an opportunity to discuss all of the tools, techniques, and technologies that make up XPCOM. Accordingly, the book is arranged so that readers can follow along and create their own components or learn about different XPCOM topics individually, as in a reference work. For example, the introduction includes a discussion of components and what they are, and the first chapter - about how to compile the basic code and register it with Mozilla - prompts a discussion of the relationship between components and modules, of XPCOM interfaces, and of the registration process in general.

The top of each chapter provides a list of the major topics covered. Sidebar sections are included to highlight technical details. By the end of the book, readers should have learned how to build a component and they will know something about the framework for these components in Gecko, which is XPCOM.

Intended Audience:

This book is meant for C++ developers. Though XPCOM components can be created in JavaScript and other languages, and though C programmers might be able to follow, the component implementation code is written in C++, and much of the discussion of how to turn a code into an XPCOM component starts from C++. Advanced C++ skill is not needed, however. Although familiarity basic ideas such as inheritance and encapsulation are preferred, wherever possible they are explained in the book as they are used. Also many of the examples are in JavaScript, which is used in Mozilla to access XPCOM components as scriptable objects, and so familiarity with JavaScript is useful as well.

For readers with any experience with Microsoft COM, much of it can be applied to XPCOM. However, this book does not assume any prior knowledge of COM - all of the basic COM ideas will be introduced.
 




About The Author(s)


Ian Oeschger (@oeschger) is an information architect and right-brained software developer for IBM, currently working at developerWorks on Developer centers, web development, Bluemix. He’s also a writer, avid reader, and local do-good volunteer in Wilmington, NC. He consults as an architect and web developer for bookstore trade organizations, environmental impact firms, education technologists, and others. He’s worked at a number of start-ups in the Silicon Valley, including Netscape, where he contributed to and published broadly on the open source project Mozilla.

Ian Oeschger

Ian Oeschger (@oeschger) is an information architect and right-brained software developer for IBM, currently working at developerWorks on Developer centers, web development, Bluemix. He’s also a writer, avid reader, and local do-good volunteer in Wilmington, NC. He consults as an architect and web developer for bookstore trade organizations, environmental impact firms, education technologists, and others. He’s worked at a number of start-ups in the Silicon Valley, including Netscape, where he contributed to and published broadly on the open source project Mozilla.


No information is available for this author.

Doug Turner

No information is available for this author.


Book Categories
Sponsors
Icons8, a free icon pack