Google Native Client:
Google-Betriebssystem
durch die Hintertür?
Die Ankündigung hört sich nicht sehr aufregend an: Googles neue Technologie “Google Native Client” ermöglicht es, per Web Programme zu verbreiten, die auf dem Zielrechner nativ und darum viel schneller als traditionelle Web-Applikationen laufen können. Aber dahinter steckt wohl mehr — vielleicht so etwas wie das zukünftige Google OS?
Die Web-Applikationen von heute nutzen nur einen Bruchteil der CPU-Power moderner PCs aus. Da sie zwangsweise auf einer web-kompatiblen Ausführungsumgebung aufgebaut sind — Flash, Java oder JavaScript beispielsweise — geht der grösste Teil der Rechenleistung für Overhead drauf. Darum sind datenintensive Anwendungen wie etwa Bildmanipulation oder auch grafisch anspruchsvolle Spiele kaum fürs Web umsetzbar.
Das will Google nun ändern. Die heute angekündigte Technologie “Google Native Client” ermöglicht es, Programmcode (der z.B. in C oder C++ geschrieben ist) direkt für die jeweilige Zielplattform zu compilieren und so maximale Leistung zu erreichen. Auch auf die Hardware des Zielrechners, beispielsweise die Grafikkarte, können solche Applikationen direkter und damit viel schneller zugreifen. Trotzdem sind Native-Client-Anwendungen prinzipiell betriebssystemunabhängig, werden per Web verbreitet und laufen über ein Plug-in im Webbrowser — ganz wie etwa eine Flash-Applikation.
Zunächst hört sich das wie etwas an, was kurzfristig nur Nerds interessieren wird. Aber Google versucht hier etwas sehr Fundamentales zu erreichen: Man will die Vorteile von Web-Applikationen (Plattformunabhängigkeit, schnelle Verbreitung per Web) mit denen lokal installierter Programme (Geschwindigkeit, Hardware-Zugriff) verbinden. Und diese Kombination hat enorme Sprengkraft.
Es ist kaum eine Übertreibung, wenn man sagt: Google rückt damit dem oft vermuteten Ziel, ein eigenes Betriebssystem im Markt zu etablieren, ein gewaltiges Stück näher und heizt den Kampf mit Microsoft noch weiter auf. Denn bis jetzt mussten Entwickler, wenn sie die volle Rechnerleistung nutzen wollten, ihre Applikationen spezifisch für Windows, Mac OS X oder Linux schreiben. Google will ein Zwischenstück anbieten, das vom unterliegenden Betriebssystem abstrahiert und doch die volle Leistung bietet. Im Prinzip baut Google damit so etwas wie die .NET-Plattform von Microsoft auf, nur eben unabhängig von Windows oder anderen bekannten Systemen. In Zukunft könnten Entwickler daher ohne Performancenachteile ihre Anwendungen für die Google-Plattform schreiben und nicht mehr für eins der klassischen Betriebssysteme.
Bis dahin ist es aber noch ein weiter Weg. Die heute vorgestellte Fassung von Google Native Client hat noch deutlich experimentellen Charakter. Ein paar Demos wie etwa das unvermeidliche Ballerspiel “Quake” laufen schon sehr flott, aber es gibt noch viele offene Fragen zu klären. Besonders die Sicherheit ist ein Problem, denn für Virenautoren ist so eine Plattform natürlich ein Traum. Auch die benutzerfreundliche Umsetzung muss Google erst noch hinkriegen. Denn um die aktuelle Version von Google Native Code in Betrieb zu nehmen, bringt man besser sehr solide Informatikkenntnisse mit. Es wird sich zeigen müssen, ob Google die daraus resultierenden Probleme in den Griff bekommt.
Aber den Fehdehandschuh hat Google den Kollegen von Microsoft damit einmal mehr ganz klar hingeworfen.















Artikel per Feed
Artikel per E-Mail
Artikel bei Twitter
Facebook-Seite
Mh. So etwas gab es ja schon vor Jahren mal (bzw. gibt es immer noch, es benutzt einfach niemand mehr): ActiveX von Microsoft. Nur fuer Windows, aber wirklich gescheitert ist ActiveX ja eigentlich nicht wegen der fehlenden Plattform-Unabhaengigkeit sondern wegen der zahlreichen Sicherheitsluecken. Eine native Plattform ist halt viel schwieriger in einen “Sandkasten” zu versetzen als z.B. ein JAVA-Applet oder Flash-Anwendungen.
Bis Google den Beweis erbringt, dass ihre Loesung kein Sicherheitsrisiko in den Browser reisst, wuerde ich da mal skeptisch bleiben.
@Tom: Da hast Du natürlich absolut recht, die Sicherheit wird das grösste Problem an der Sache sein. Nicht zuletzt deshalb ist Google jetzt schon an die Öffentlichkeit gegangen, um sich Inputs aus der Open-Source-Community zu holen.
Andererseits muss man aber auch sehen, dass Microsoft damals mit ActiveX gewaltsam eine alte Komponententechnologie (COM) ans Web-Zeitalter anpassen wollte. COM war nie fuer ein Sandbox-Umfeld gedacht und darum schwer zu bändigen. Das ist hier vermutlich anders. Zudem hat man dank der modernen Virtualisierungstechnologien auch schon deutlich mehr darüber gelernt, wie man nativen Code in einer geschützten Umgebung halten kann.
Was der Google Native Client mit einem Betriebssystem zu tun hat bleibt schleierhaft. Fuer mich klingt das eher nach einem Kontrahenten fuer Java Web Start – was nicht schlecht waere, denn die Idee dahinter hat Potenzial und haette mehr Aufmerksamkeit verdient.
“Da sie zwangsweise auf einer web-kompatiblen Ausführungsumgebung aufgebaut sind — Flash, Java oder JavaScript beispielsweise — geht der grösste Teil der Rechenleistung für Overhead drauf.”
Speziell auf Java bezogen ist das falsch, insbesonders die überzogene “geht der grösste Teil der Rechenleistung für Overhead drauf”-Formulierung. Java ist schnell, in speziellen Fällen sogar schneller als C. Und Flash sowie JavaScript werden mit jeder neuen Version der verschiedenen Skriptengines auch immer schneller.
Java running faster than C
http://paulbuchheit.blogs…s-faster-than-c.html
Java vs. C benchmark
http://www.stefankrause.net/wp/?p=4
Oh Bitte nicht…ich bleibe beim Mac OS X… :-)
@Sven Drieling
Hier geht es um performante Anwendungen, welche direkt mit der Hardware agieren. Genau dies ist aber mit gewöhnlichem Java nur möglich, indem C-Code über das Java Native Interface (JNI) eingebunden wird.
Und somit fällt Java in meinen Entwickleraugen gänzlich aus dem Konzept.
@Jack Fox
“Hier geht es um performante Anwendungen, welche direkt mit der Hardware agieren.”
Welche Anwendungen sollten denn das bitte sein? Sogar Spiele setzen heute auf Layer wie DirectX auf. Und aus Sicherheitsgründen muss sowieso ein Layer dazwischen sein – da ist das ganze “Wir kompilieren C für jede Plattform”-Geschwätz nur Marketingewäsch. So ist “Native Client” in der Tat nichts anderes als eine Java-Kopie, deren einziger Vorteil sein wird, direkt in Google Chrome integriert zu sein.
Und ich bin wahrlich alles andere als ein Java-Fan …
Ich finde die Idee ganz gut, aber dass sie von Google kommt gefällt mir nicht. Und, wie geht man sicher, dass alle Bibliotheken vorhanden sind, die zum kompilieren gebraucht werden? Oder werden die Systeminformationen an Google weitergegeben und das Programm wird auf deren Server kompiliert, sodass man es downloaden kann?
Christian
Jaja, nur immer gegen Google :D
Mittlerweile werden alle Neuerungen, die durch die große Suchmaschine angestrebt werden schlechtgemacht und mit Datenabfragen verbunden. Letztendlich will gar keiner mehr zugeben, welche positiven Veränderungen ihm gegeben wurden. Ich fände die Lösung einen weiteren Schritt in die richtige Richtung, um vorhandene Kapaziäten ausnutzen zu können.
@Britta
Google hat auch jedes mal wieder bewiesen, dass es Daten sammelt und den Verdacht bestätigt. Chrome, GMail, … Sicher ist es ein Schritt in die richtige Richtung, aber kann auch mit Datensammeln zusammenhängen. Zumal Google auch auch keinen Hehl daraus macht.
@StefanF haha. Ich finde die Hysterie gegenüber Google hierzulande ..hysterisch und übertrieben.
@ChristianM
Wann und wo wurde bewiesen, dass Google mit Chrome Daten sammelt? Ja, die Eingaben werden zu Google geschickt … anders koennten so nette Features wie Autovervollstaendigung nunmal nicht funktionieren. Das ist aber noch lange kein Beweis dafuer, dass Google diese Daten auch wirklich sammelt und/oder nutzt. Und ehrlich gesagt bin ich froh, wenn Google dieses Wissen nutzen wuerde/nutzt um sinnvolle Werbung fuer mich auszusuchen. Ich seh darin (noch) nix boeses.
@Marcel Weiss
Ich wuerde sogar soweit gehen und den kompletten Datenschutz-Wahn als hysterisch, uebertrieben und (in machen Zuegen sogar) amuesant bezeichnen.
Cheers
@Stefan F: Ja, könnte man so sagen. Das Problem dabei ist nur, dass es durchaus Diskussionsbedarf in diesem Feld gibt, der wird durch den Fanatismus aber leider mehr oder weniger verunmöglicht.
Man sollte vielen Leuten auch mal erklaeren, dass sie nicht nur im Internet taeglich irgendwelchen Datensammlern ausgesetzt ist. Vermutlich traegt sogar jeder von uns 10 und mehr davon in der Brieftasche: Kundenkarten, Clubkarten, EC-Karte, Kreditkarte, etc. Darueber spricht zum Beispiel nie jemand. Aber wenn Google Autocompletion in Chrome einbaut entdecken Datenschuetzer gleich das personifizierte Boese. In den Millionen von Terrabyte an Daten koennte Google ja meine heimlichsten Leidenschaften und Sehnsuechte entdecken … H&M weiss schon laengst, dass ich regelmaessig Damenunterwaesche in meiner Groesse kaufe :D
Google Native Client ist doch kein Betriebssystem …