background preloader

Mozilla Developer Network

Mozilla Developer Network
Modify and extend Mozilla applications Add-ons add new functionality to Gecko-based applications such as Firefox, SeaMonkey, and Thunderbird. There are two main types of add-on: Extensions add new features to the application, while Themes modify the application's user interface. Add-ons can greatly affect the behavior of the application that hosts them. Extensions Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. There are three different techniques you can use to build extensions: Add-on SDK-based extensions, manually bootstrapped restartless extensions, and legacy extensions. Add-on SDK extensions Extensions built using a set of high-level JavaScript APIs, which don't require a browser restart to install. WebExtensions We're working on a system called WebExtensions, which is a new way to develop WebExtensions for Firefox, that will be largely compatible with the system used by Chrome and Opera. Debugging Recommended practices Performance Security Related:  APIMozilla Add Ons, Mobile & More

Times Developer Network - Welcome How to build an XPCOM component in Javascript If you are looking for Add-on SDK solution for XPCOM JavaScript components then check out platform/xpcom module first. This is a "Hello World" tutorial for creating an XPCOM component in JavaScript. This tutorial does not describe how and why XPCOM works the way it does, or what every bit of the example code does. That's been detailed elsewhere. This tutorial will show you what you need to do to get a component working in as few and as simple steps as possible. Implementation This example component will expose a single method, which returns the string "Hello World!". Defining the Interface If you want to use your component in other XPCOM components, you must define the interfaces that you want exposed. There are many interfaces already defined in Mozilla applications, so you may not need to define a new one. If an interface exists that meets your needs, then you do not need to write an IDL, or compile a typelib, and may skip to the next section. HelloWorld.idl Compiling the Typelib

Mozilla Application Suite Mozilla Application Suite [moʊˈzɪlə ˌæplɪˈkeɪʃn swiːt] (auch Mozilla Suite oder einfach Mozilla, siehe auch allgemeiner Begriff Mozilla) war eine aus Webbrowser, E-Mail-Programm und weiteren Werkzeugen bestehende freie Programmsammlung (engl. Application Suite) für das Internet, die vom Mozilla-Projekt entwickelt wurde. Mittlerweile hat die Mozilla Foundation die offizielle Entwicklung zugunsten des Webbrowsers Firefox und des E-Mail-Programms Thunderbird eingestellt. Die Suite wird seitdem unter dem neuen Namen SeaMonkey von einer kleinen Entwicklergemeinde weitergepflegt. Die Mozilla Suite steht unter mehreren freien Lizenzen wie der hauseigenen Mozilla Public License (MPL), sowie der GPL und LGPL. Geschichte[Bearbeiten] Ursprünglich war das Wort Mozilla nur die firmeninterne Bezeichnung für den Netscape-Webbrowser. Versionsgeschichte[Bearbeiten] Mozilla 1.0 erschien am 5. Eigenschaften und Funktionen[Bearbeiten] Mailkomponente von Mozilla 1.6 mit „Orbit 3+1“-Theme unter Linux

Performance best practices in extensions - MDN Docs One of Firefox's great advantages is its extreme extensibility. Extensions can do almost anything. There is a down side to this: poorly written extensions can have a severe impact on the browsing experience, including on the overall performance of Firefox itself. This article offers some best practices and suggestions that can not only improve the performance and speed of your extension, but also of Firefox itself. Improving startup performance Extensions are loaded and run whenever a new browser window opens. Load only what you need, when you need it Don't load things during startup that are only needed if the user clicks a button, or if a given preference is enabled when it's not. Use JavaScript code modules You can create your own JavaScript code modules incorporating sets of features that are only needed under specific circumstances. This has an advantage over XPCOM modules, which are always loaded when your extension starts up. Defer everything that you can General Performance Tips

Plugins Plugins are shared libraries that users can install to display content that the application itself can't display natively. For example, the Adobe Reader plugin lets the user open PDF files directly inside the browser, and the QuickTime and RealPlayer plugins are used to play special format videos in a web page. Plugins are now a legacy technology. Plugins are written using NPAPI, the cross-browser API for plugins. Plugins can be written completely from scratch using C APIs (usually in C or C++) or they may be built on a plugin framework such as Firebreath, JUCE, or QtBrowserPlugin. Plugins are different from extensions, which modify or enhance the functionality of the browser itself. Writing a plugin for Mac OS X Learn how to write a plugin for Mac OS X; a template Xcode project is provided. Monitoring Plugins Use an observer service notification to monitor the amount of time spent executing calls in plugins. Scripting Plugins: Macromedia Flash Plugins: The First Install Problem | Collecting all the cheat sheets Application Versions Mozilla Der Begriff Mozilla [moʊˈzɪlɐ] steht für Internet-Software und für Projektorganisationen, die mit der Erstellung dieser Software verbunden sind. Aus dem Webbrowser Netscape Navigator, der unter dem Codenamen Mozilla entwickelt wurde, ist die Programmsammlung Mozilla Application Suite hervorgegangen. Das Unternehmen Netscape Communications Corporation, in dem die Software entwickelt wurde, führte zeitweilig eine farbige Echse, die den Namen Mozilla erhalten hatte, als ihr Firmenlogo. Mozilla-Projektorganisationen[Bearbeiten] Mozilla-Projekt[Bearbeiten] Das Mozilla-Projekt steht unter dem Dach der Mozilla Foundation. Mozilla Foundation[Bearbeiten] Logo der Mozilla Foundation → Hauptartikel: Mozilla Foundation Mozilla Corporation[Bearbeiten] Logo der Mozilla Corporation Am 3. Mozilla Messaging[Bearbeiten] Am 19. Software[Bearbeiten] Die wichtigsten Endbenutzer-Anwendungen für den Desktop sind der Webbrowser Firefox und das E-Mail-Programm Thunderbird. Mozilla Application Suite[Bearbeiten]

JavaScript - MDN Docs JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles. Read more about JavaScript. This section is dedicated to the JavaScript language itself, and not the parts that are specific to Web pages or other host environments. The standard for JavaScript is ECMAScript. Tutorials Learn how to program in JavaScript with guides and tutorials. For complete beginners Head over to our Learning Area JavaScript topic if you want to learn JavaScript but have no previous experience of JavaScript or programming. JavaScript first steps Answers some fundamental questions such as "what is JavaScript?" JavaScript building blocks