Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Firefox OS App-Architektur

Dieser Artikel beschreibt die Details, wie Apps in Firefox OS gestartet und verwaltet werden. Diese Informationen sind hilfreich sowohl für Firefox OS-Plattformentwickler als auch für Gruppen, die das Betriebssystem auf neue Hardware portieren. Als App-Entwickler benötigt man diesen Artikel nicht unbedingt, aber er könnte trotzdem interessant sein.

Der App-Startprozess

Wenn der Nutzer eine App, die er starten möchte, auswählt oder eine App auf andere Weise gestartet werden soll, startet die  Home-Screen-App, indem sie sich eine App-Referenz von der App-API holt  und dann die Methode App.launch() aufruft, um die App zu starten.

Gecko empfängt diese Anforderung und sendet das mozChromeEvent mit den App-Details zur System-App. Die System-App verarbeitet dieses Ereignis, indem sie ein neues <iframe>-Element in den DOM-Baum einfügt und die App in dieses neue <iframe>-Element lädt. Dieser Rahmen ist dann die Heimat der App, bis sie beendet wird.

Jede App benötigt ein Manifest, das sie beschreibt, und hat eine spezielle Dateihierarchie im Paket. Details stehen im Artikel App manifest.

Kommunikation mit Gecko

Die Kommunikation zwischen Gecko und Gaia's System-App passiert über mozChromeEvent und mozContentEvent. mozChromeEvents werden von Chrome zum Inhalt und mozContentEvents vom Inhalt zu Chrome gesendet. Diese Kommunikation wird benutzt, um die Erzeugung und das Schließen der vertrauten Benutzeroberfläche zu steuern und die benötigten Funktionen für Benachrichtigungen und andere Aufgaben bereitzustellen, dazu gehört auch, der System-App mitzuteilen, dass eine App gestartet werden soll.

Anmerkung: Mehr dazu, wie diese Ereignisse funktionieren, findet man in der System-App-Dokumentation. Eine andere Quelle, wie man die Ereignisse benutzt, findet man im Quellcode in b2g/chrome/content/shell.js.

See also

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: chrisdavidmills, Marc0
 Zuletzt aktualisiert von: chrisdavidmills,