Native Client: Google gibt Webanwendungen die volle Prozessor-Power
Google zündet die nächste Stufe der Integration von Web und Desktop: Das Projekt "Native Client" soll Webapplikationen die Ausführung von nativem Code auf dem Prozessor ermöglichen.
Üblicherweise kommunizieren Webanwendungen nur über den Browser als Middleware mit dem
Prozessor. Das bietet Vorteile wie größere Sicherheit und eine gewisse Unabhängigkeit der Anwendung
von Browser und Betriebssystem. Diese Portabilität soll Native Client nun mit der höheren
Performanz einer direkten Ausführung von Code kombinieren.
"Moderne PCs können Milliarden von Instruktionen pro Sekunden ausführen, doch Webanwendungen
bekommen nur eine sehr kleine Scheibe davon ab", klagt Google-Entwickler Brad Chen, ein
renommierter Experte für Application-Performance-Management. Dies zu ändern sei die Motivation
hinter Native Client – vermutlich nicht zuletzt mit Blick auf die eigenen Webapplikationen wie etwa
Google Docs.
Native Client besteht aus drei Elementen: Einer Laufzeitumgebung, einem Browser-Plugin sowie
einer Reihe von GCC-basierten (GNU Compiler Collection) Kompilierungs-Tools. Durch sie sollen
Programmierer in die Lage versetzt werden, Webanwendungen zu schreiben, die zwar wie gehabt im
Browser ablaufen, aber bestimmte native Code-Module beinhalten.
Aus Sicherheitsgründen müssten diese aber strengen Regeln gehorchen, so Brad Chen: "Auf der
obersten Abstraktionsebene gibt es zwei Vorgaben für diese Module : 1. Sie haben eine vorgegeben
Struktur, die es ermöglicht, den Code auf diskrete Instruktionen herunter zu brechen. 2. Bestimmte
Instruktionssequenzen dürfen nicht enthalten sein."
Laut Chen wird die Laufzeitumgebung in der Lage sein, potenziell gefährlichen Code zu entdecken
und zu blockieren. "Wir sind uns klar darüber, dass es eine enorme Herausforderung darstellt, diese
Technik sicher zu gestalten. Deswegen haben wir uns entschlossen, sie schon in diesem frühen
Stadium als Open Source frei zu geben."
Als Beispiel für eine mögliche Anwendung der Technik nennt Chen, der früher Leiter des
Peformance-Tools-Lab bei Intel war, eine Webanwendung zur Bildbearbeitung auf einer
Foto-Sharing-Site. Bislang wurden derartige Funktionen mit Javascript im Browser und einer
server-seitigen Bildbearbeitung realisiert. Dazu mussten aber große Datenmengen zwischen Client und
Server transferiert werden. Mit Native Client könnte die Leistungsfähigkeit der Desktop-CPU dafür
genutzt werden.
Die Entwicklungs-Tools für Native Client stehen auf
Googles
Entwicklerseite in einer experimentellen Version zur Verfügung. Entsprechender Code sei in den
Browsern Firefox, Safari, Opera und Chrome lauffähig sowie unter den Betriebssystemen Windows,
Macintosh und Linux. Als Prozessorarchitektur wird zunächst nur x86 unterstützt. Laut Brad Chen
soll das aber auch andere Architekturen wie ARM und Power PC ausgeweitet werden.
Peter Koller/dp
Weitere Infos zum Thema: