Chrome 14 mit Schnittstellen zu C, C++ und Audio

Google hat die Version 14 seines Browsers als Beta freigegeben. Erstmals ist dort der "Native Client" integriert, der das Anbinden externer C- und C++-Bibliotheken an Web-Anwendungen erlaubt.

In Pocket speichern vorlesen Druckansicht 146 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

Die Integration des Native Client in Googles Browser Chrome dürfte die wichtigste Neuerung der jetzt als Beta veröffentlichten Version 14 sein. Einsatzmöglichkeiten seien unter anderem die Anbindung vorhandener C/C++-Bibliotheken für Graphik und Audio und das Portieren von Desktop- zu Web-Anwendungen. Die nötigen C/C++-Schnittstellen bietet eine Pepper genannte Bibliothek.

Vor bösartigen Plug-ins soll eine doppelte Sandbox schützen: Sie analysiert den Binärcode und führt ihn nur aus, wenn er bestimmten Regeln gehorcht. So sind etwa Aufrufe von syscall verboten. Im zweiten Schritt überwacht (PDF) die Laufzeitumgebung das Plug-in und beendet es bei unzulässigen Aktionen. Dazu gehören unter anderem direkte Zugriffe auf lokale Dateien und selbstmodifzierender Code. Zur Anbindung von JavaScript dienen Nachrichten, die Web-Anwendung und Plug-in austauschen.

Entwickler benötigen das Native-Client-SDK, das neben den Header- und Code-Dateien angepasste Versionen der freien GNU-Tools zum Übersetzen enthält. Der von ihnen erzeugte Code ist plattformunabhängig, für 32- und 64-Bit-Umgebungen müssen jedoch unterschiedliche Binaries erstellt werden. Das SDK gibt es für Windows, Linux und Mac OS X.

Ebenfalls neu ist die Web-Audio-API, die dem Arbeitsvorschlag des W3C folgt. Die JavaScript-Funktionen sollen Toneffekte ermöglichen. Dazu gehören die akustische Wirkung von Umgebungen wie Kathedralen, Tunneln und Wäldern sowie die Bewegung und Positionierung von Tonquellen im Raum ("Spatialization"). Beispiele für den Einsatz gibt es online. Sie lassen sich bereits mit einem Chrome-Browser in Version 13 ausprobieren, wenn in dessen about:flags-Seite "Web Audio" angeschaltet wird. Eine angepasste Version von Safari für OS X gibt es ebenfalls auf der Beispielseite. (ck)