From MozillaWiki
Jump to: navigation, search

The main languages of the Mozilla platform and extensions are C++ and JavaScript.

Mozilla has a special relationship with the JavaScript language. It was original developed for the Netscape browser by Brendan Eich. The open sourcing of Netscape code led to creation of Mozilla and Brendan Eich become one of the founders of Mozilla.

C++ in Mozilla is written so that the same code base can be compiled on different operating systems. In implementation code, this often involves encapsulating platform specific code in preprocessor directives. However, for defining interfaces, a platform independent language called XPIDL is used.


The Mozilla Developer Center has an extensive JavaScript reference.


Any standard reference on the C++ language will be helpful. You can find some online resources here:

As a general rule, Mozilla doesn't use newer features of the language (such as exceptions) in order to make cross platform compatibility easier.

The Coding Style guide has some useful tips on what to avoid when writing C++ for Mozilla.

To really be productive, however, you will need to read the XPCOM guide. This will explain how to create cross-platform interfaces in C++ (and other languages).


The XPIDL author's guide explains the language used to specify XPCOM interfaces.