Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
XPCOM
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Model== XPCOM is one of the main things making the [[Mozilla]] application environment an actual framework. It is a development environment that provides the following features for the cross-platform software developer: * Component management * File abstraction * [[Message passing|Object message passing]] * [[Memory management]] This component object model makes virtually all of the functionality of [[Gecko (layout engine)|Gecko]] available as a series of components, or reusable cross-platform [[software library|libraries]], that can be accessed from the [[web browser]] or scripted from any Mozilla application. Applications that must access the various Mozilla XPCOM libraries ([[Computer network|networking]], [[Computer security|security]], [[Document Object Model|DOM]], etc.) use a special layer of XPCOM called [[XPConnect]], which [[Reflection (computer programming)|reflects]] the library interfaces into [[JavaScript]], or other languages. XPConnect glues the front end to the [[C++]], [[C (programming language)|C]], or [[Rust (programming language)|Rust]] programming language based components in XPCOM, and it can be extended to include scripting support for other languages: PyXPCOM<ref>{{Cite web |url=https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_bindings/PyXPCOM |title=PyXPCOM |access-date=2018-01-02 |archive-date=2020-10-20 |archive-url=https://web.archive.org/web/20201020073948/https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_bindings/PyXPCOM |url-status=dead }}</ref> already offers support for [[Python (programming language)|Python]]. wxWidgets<ref>{{usurped|1=[https://web.archive.org/web/20240402042937/https://gravitechdreams.com/blog/category/desktop-application-development-a-guide-to-powerful-cross-platform-options/ Perl Based Cross Platforms Developments]}}</ref> provide support for [[Perl]], and there are efforts underway to add [[Common Language Infrastructure]] (CLI) and [[Ruby (programming language)|Ruby]] language support for XPConnect. For developers, XPCOM allows writing components in [[C++]], [[C (programming language)|C]], [[JavaScript]], [[Python (programming language)|Python]], or other languages for which special bindings have been created, and compile and run those components on dozens of different platforms, including these and others where Mozilla is supported. The flexibility to reuse the XPCOM components from the Gecko library and develop new components that run on different platforms facilitates [[rapid application development]] and results in an application that is more productive and easier to maintain. The networking library, for example, is a set of XPCOM components that can be accessed and used by any Mozilla application. File I/O, security, password management, and profiles are also separate XPCOM components that programmers can use in their own application development.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
XPCOM
(section)
Add topic