Education/ComputerScience/Platform
Firefox is only one of many applications built on the Mozilla platform. The list of Mozilla based applications is quite long. All these applications are built on a common platform made up of the technologies outlined below.
Contents
XPCOM
XPCOM (which stands for cross platform component object model) is a technology that allows interfaces to be implemented in or called from C++, JavaScript, Java or Python on all operating systems. It's everywhere in Mozilla code. Learn to specify and implement XPCOM interfaces. Learn to use XPCOM API.
XUL
XUL (XML User Interface Language) is an XML-based language created by Mozilla and used for creating the user interface of Mozilla based applications. If you are familiar with the concept of creating a web page with XHTML and CSS and JavaScript, then creating an interface (such as the UI of Firefox) using XUL will be easy to understand. See the XUL page for more information.
JavaScript and Spidermonkey
JavaScript is not only a language used for scripting web pages. It is also one of the languages that the Mozilla platform and applications such as Firefox are written in. You can script the user interface level of a Mozilla application using JavaScript. Or you can build core components of the Mozilla platform by building an XPCOM component in JavaScript.
XBL
XBL or eXtensible Bindings Language is a sister language of XUL used to declare the behaviour of XUL widgets. Read the Introduction to XBL and the XBL tutorial to learn how they work.