Einstieg in die Entwicklung für Firefox OS

Know-how  –  5 Kommentare

Nach dem überzeugenden Launch des mobilen Betriebssystems der Mozilla Foundation scheint nun erst mal das Tempo etwas heruntergeschraubt zu sein. Zeit für Entwickler, sich mit den Besonderheiten beim Schreiben von Apps für Firefox OS vertraut zu machen.

Low-End-Smartphones sind für europäische Verhältnisse billig: Ein Preis von rund 100 Euro ist auch für einkommensschwächere Kundenschichten erträglich. In Entwicklungsländern sieht die Lage anders aus – hier spielt die Musik im Bereich von rund 30 Euro. Die bisher zum Einsatz kommenden Betriebssysteme litten jedoch unter ihren miserablen Webrowsern: Der Speicher war zu gering, um einen Betriebssystemkern samt GUI-Stack und einen brauchbaren Browser auszuliefern.

Der neue Mozilla-CTO Andreas Gal kam 2011 auf die Idee, dieses Problem durch eine von webOS bekannte Strategie zu umschiffen. Das 2012 auf "Boot to Gecko" umbenannte Betriebssystem der Foundation würde den eigenen Browser nicht nur zum Rendering von Webseiten benutzen. Applikationen, ja sogar der ganze GUI-Stack, sollten in Form von Webtechniken vorliegen. Die Open-Source-Organisation hat diese Designvorgabe im Großen und Ganzen umgesetzt. Das Resultat davon ist ein komplett Web-basiertes Betriebssystem, das zur Ausführung nativer Applikationen ungeeignet ist. Der ursprüngliche Name wurde mittlerweile geändert, um die Ausnutzung der insbesondere in Deutschland etablierten Firefox-Marke zu ermöglichen.

Innenleben

Als "Kernel" kommt eine als Gonk bezeichnete Version von Linux zum Einsatz. Diese unterscheidet sich von normalen Distributionen des Betriebssystems insofern, als sie eine erweiterte Hardwareabstraktionsschicht anbietet. Eine Ebene darüber findet sich die Laufzeitumgebung Gecko. Die Namensähnlichkeit mit der HTML-Rendering-Engine von Firefox ist nicht zufällig: Beim Rendering finden sich nur wenige Unterschiede zum Desktop. In der Mobilversion gibt es einige Besonderheiten, die anderen Firefox-Versionen nicht zur Verfügung stehen: Gecko darf (unter anderem) direkt in den Framebuffer schreiben.

Zu guter Letzt fehlt noch die Gaia genannte Benutzerschnittstelle, die komplett mit HTML, CSS und JavaScript gebaut ist: Die Entwickler bestätigen in der Dokumentation der Plattform, dass kein nativer Code zum Einsatz kam.

Diese Architektur lässt sich anhand der in Abbildung 1 gezeigten Übersicht leichter verstehen. Für den Entwickler ist der innere Aufbau des Systems allerdings nur von geringer Relevanz: Die einzige wichtige Information ist, dass Firefox OS schon allein aus Gründen der internen Architektur nicht zum Ausführen nativen Codes befähigt ist.

Firefox OS ist in drei Schichten aufgeteilt (Abb. 1) (Bild: developer.mozilla.org)