Implementing XPCOM components in JavaScript: Difference between revisions
From MozillaZine Knowledge Base
Jump to navigationJump to search
Richwklein (talk | contribs) No edit summary |
Richwklein (talk | contribs) |
||
Line 1: | Line 1: | ||
== About XPCOM == | == About XPCOM == | ||
Mozilla applications are built from a collection of XPCOM (Cross-platform Component Object Model) objects. They are used to perform certain tasks or to get specific functionality. For example, there is a directory service component that can be used to access files on your file system. Components can be constructed using several programming languages, including: javascript, c++, and python. Mozilla then uses "interfaces" to describe what a component can do. The most basic interface [http://lxr.mozilla.org/mozilla/source/xpcom/base/nsISupports.idl nsISupports] | Mozilla applications are built from a collection of XPCOM (Cross-platform Component Object Model) objects. They are used to perform certain tasks or to get specific functionality. For example, there is a directory service component that can be used to access files on your file system. Components can be constructed using several programming languages, including: javascript, c++, and python. Mozilla then uses "interfaces" to describe what a component can do. The most basic interface [http://lxr.mozilla.org/mozilla/source/xpcom/base/nsISupports.idl nsISupports] is used to get different interfaces that a component implements. | ||
* Benifits of XPCOM | * Benifits of XPCOM |
Revision as of 21:37, 2 February 2006
About XPCOM
Mozilla applications are built from a collection of XPCOM (Cross-platform Component Object Model) objects. They are used to perform certain tasks or to get specific functionality. For example, there is a directory service component that can be used to access files on your file system. Components can be constructed using several programming languages, including: javascript, c++, and python. Mozilla then uses "interfaces" to describe what a component can do. The most basic interface nsISupports is used to get different interfaces that a component implements.
- Benifits of XPCOM
- XPCOM objects can be used by any programming language mozilla supports.
- Objects implemented as XPCOM are global to an application, and are not dependent on the scope of any one window.
- Programming logic can be encapsulated within an object.
- XPCOM Drawbacks
- Objects must be accessed from their defined interfaces. Javascript shortcuts such as the global window object annot be accessed.
- The only exception to this rules, is if you set a magical property wrappedJSObject equal to your component, then the underlining javascript object can be accessed.
- It is easier to have memory leaks
- Objects must be accessed from their defined interfaces. Javascript shortcuts such as the global window object annot be accessed.