Kolumne: Mobile Welten

Boot to Gecko (B2G): the Web is the Platform

Kay Glahn

Nachdem in der letzten Zeit bei den mobilen Plattformen eine starke Auslese stattgefunden hat, steht nun mit Boot to Gecko eine neue mobile Plattform in den Startlöchern. Bereits im Juli 2011 hat Dr. Andreas Gal, Director of Research bei der Mozilla Corporation, auf der Entwickler-Mailingliste von Mozilla ein Projekt angekündigt, dessen Ziel es ist, ein komplett eigenständiges Betriebssystem für das offene Web zu entwickeln. Dabei sollen die Lücken geschlossen werden, die Webentwickler zurzeit noch daran hindern, Apps zu entwickeln, die äquivalent zu nativen Apps für iPhone, Android und Windows Phone 7 sind. Ausgangspunkt war wohl die neue Version von Firefox für Android, die auf Googles Smartphonebetriebssystem aufsetzt. Man hat sich dann bei Mozilla die Frage gestellt, ob man außer dem Linux-Kernel und dem Firefox-Browser nicht alle unnötigen Bestandteile von Android entfernen könne.

Bereits auf dem Mobile World Congress im Februar dieses Jahres in Barcelona wurde dann ein Prototyp eines auf Boot to Gecko (B2G) basierenden Open Web Device vorgestellt. Hier wurde auch angekündigt, dass man noch dieses Jahr zusammen mit dem spanischen Telekommunikationsanbieter Telefónica ein Gerät auf den Markt bringen wolle. Auch Adobe, Qualcomm und das Innovation Lab der Deutschen Telekom wollen das Projekt unterstützen. Demonstriert wurde die neue Plattform auf einem Samsung Galaxy S II, auf dem das bestehende Android-Betriebssystem komplett durch B2G ersetzt wurde.

Abb. 1: B2G steht zurzeit für das Samsung Galaxy S II zur Verfügung (Quelle: Mozilla Foundation)
Gaia, Gecko und Gonk

Das Open Web Device besteht aus den drei Schichten Gaia, Gecko und Gonk. Bei Gaia handelt es sich um das User Interface von B2G, das somit für alles verantwortlich ist, was nach dem Starten von B2G auf dem Display erscheint. Hierzu gehören beispielsweise der Lock Screen, der Home Screen, der Telefon-Dialer sowie die SMS- und die Kamera-Applikation. Gaia ist vollständig in HTML, CSS und JavaScript geschrieben und greift lediglich über die von Gecko bereitgestellten Open Web APIs auf das darunterliegende Betriebssystem zu. Trotzdem ist es in der Lage, ein UI darzustellen, das dem der meisten Smartphones sehr ähnlich sieht. Obwohl Gaia für die Ausführung auf B2G vorgesehen ist, kann es auch auf anderen Betriebssystemen oder Webbrowsern eingesetzt werden, da es lediglich auf Standard-Web-APIs zurückgreift.

Unterhalb von Gaia befindet sich der Gecko Layer, der seinen Namen mit der gleichnamigen Browser Engine teilt. Gecko ist sozusagen die Runtime, auf der die Anwendungen ausgeführt werden. Hierzu implementiert Gecko die offenen Standards HTML, CSS und JavaScript. Es stellt im Wesentlichen einen Networking Stack, einen Grafik-Stack, eine Layout Engine, eine virtuelle Maschine für JavaScript sowie Porting Layer bereit. Während die Gecko Rendering Engine bisher zumeist als Teil des Mozilla-Firefox-Browsers auf einem Host-Betriebssystem wie Windows oder Linux ausgeführt wurde, setzt Gecko nun direkt auf einem Low-Level-System namens Gonk auf. Da Gecko und Gonk allerdings optimal aufeinander abgestimmt sind, kann Gonk Schnittstellen für Gecko bereitstellen, die auf den meisten anderen Systemen nicht in der Form verfügbar sind. So hat Gecko beispielsweise vollen Zugriff auf den Telefonie-Stack oder den Display Frame Buffer von Gonk.

Gonk ist das eigentliche Betriebssystem von B2G und besteht aus einem Linux Kernel sowie einem Hardware Abstraction Layer (HAL). B2G übernimmt einen Großteil des HAL aus zahlreichen Open-Source-Projekten sowie von Android. Hierzu gehören zum Beispiel der Zugriff auf GPS und Kamera. Im Gegensatz zu Android handelt es sich bei Gecko um eine extrem abgespeckte Linux-Distribution. Und hierin liegt auch einer der großen Vorteile von B2G: Während die aktuelle Version 4.0 von Android inzwischen rund 512 Megabyte Speicher in Anspruch nimmt, so ist B2G lediglich 120 Megabyte groß. Dadurch, dass der dicke Layer oberhalb des Linux-Systems – der bei Android unter anderem den nativen Stack sowie die Dalvik VM beinhaltet – weggelassen wurde, stellt B2G wesentlich geringere Anforderungen an die Hardware. Es kann auch auf Geräten der Feature-Phone-Kategorie zum Einsatz kommen.

Samsung Galaxy SII als Referenzgerät

Möchte man als Entwickler Anwendungen auf B2G testen, so kann man das System selbst auf einem bestehenden Android-Gerät installieren. Am einfachsten geht das mit dem Samsung Galaxy S II, das mit Android im Handel erhältlich ist. B2G läuft auch auf den meisten anderen Android-Geräten. Da die Treiber hierfür aber nicht von Mozilla bereitgestellt werden, muss man diese gegebenenfalls per Hand aus Android extrahieren. Mozilla plant allerdings, neben dem recht teuren Galaxy S II in Zukunft auch ein zweites günstigeres Smartphone offiziell zu unterstützen.

Auf den ersten Blick scheint B2G eine Reihe von Gemeinsamkeiten mit Googles Chrome OS zu haben, bei dem ebenfalls ein Webbrowser auf einem minimalen Linux-System ausgeführt wird. Während sich Chrome OS aber auf Netbooks konzentriert, liegt der Schwerpunkt von B2G klar auf Smartphones und Tablets. Eine Verschmelzung von Android und Chrome OS wurde ebenfalls schon oft diskutiert. Auch zu Palms WebOS, das nach der Übernahme durch HP nun als Open Source bereitsteht, gibt es gewisse Ähnlichkeiten. Hier werden ebenfalls Applikationen in HTML, CSS und JavaScript entwickelt, und beide basieren auf einem Linux Kernel, der auf Smartphones und anderen ARM-basierten Geräten ausgeführt wird. Im Gegensatz zu B2G nutzen WebOS-Applikationen ein spezifisches Framework, Schnittstellen und Widgets. Trotzdem lässt sich der Code einer Webseite wohl mit relativ geringem Aufwand in eine WebOS-Applikation umwandeln.

Mozilla konzentriert sich auf die Implementierung und die Spezifikation der notwendigen Standards für B2G. Die Herstellung von Geräten überlässt man allerdings Geräteherstellern und entsprechenden Partnern. Derzeit hat Mozilla nach eigenen Aussagen keine Pläne, ein eigenes Firefox Phone auf den Markt zu bringen. Als erster Partner hat Telefónica angekündigt, Ende 2012 oder Anfang 2013 ein B2G-basiertes Feature Phone zunächst auf den brasilianischen Markt zu bringen.

Fazit

Mit Mozillas B2G wird der HTML5-basierte Ansatz für mobile Apps, der sich in der letzten Zeit immer weiter durchsetzt, noch weiter getrieben. Gerade bei Feature Phones, die überwiegend in Schwellenländern zum Einsatz kommen, macht dieser Ansatz Sinn – und Netzwerkbetreiber sehen in dem webbasierten Ansatz eine interessante Alternative zu den von Apple, Google und Amazon dominierten App-Store-Ökosystemen. Dass der Ansatz Potenzial hat, zeigen nicht zuletzt die Gerüchte um eine Übernahme von Opera durch Facebook und ein potenzielles Facebook Phone, das möglicherweise ebenfalls komplett browserbasiert sein könnte. Wie man sieht, ergeben sich für Webentwickler interessante Möglichkeiten, ganz neue Zielplattformen zu adressieren: Das Rennen um die Smartphonelattform der Zukunft ist noch lange nicht beendet.

Geschrieben von
Kay Glahn
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.