Programmierung Intel und Google machen Browser-Code Multicore-fähig
Für rechenintensive 3-D-Aufgaben waren Webanwendungen bisher kaum geeignet. Intel hat nun ein Projekt vorgestellt, das die parallele Programmierung in JavaScript erlaubt. Und Google setzt auf nativen Code in einer Sandbox.
Anbieter zum Thema

Intel hat die Technik in der vergangenen Woche auf seiner Entwicklerkonferenz Intel Developer Forum in San Francisco vorgeführt.
Eine frühe Version des Verfahrens, das den Codenamen River Trail trägt, liegt bereits als quelloffenes Addon für den Firefox-Browser vor.
Aus Entwicklersicht handelt es sich bei River Trail um eine relativ einfache Erweiterung von JavaScript, die einen neuen Datentyp namens ParallelArray einführt.
Das Firefox-Addon verfügt darüber hinaus über einen modifizierten Compiler, der aus den ParallelArrays Code der Sprache OpenCL erzeugt. Dieser Code wiederum erzeugt direkte Anweisungen für den Hauptprozessor und den Grafikchip.
Die Demonstrationen auf der Intel-Konferenz waren beeindruckend. Laut dem Branchendienst The Register wurde eine physikalische Simulation im Browser gezeigt; eine Variante der Demonstration war in JavaScript mit River Trail programmiert, die andere machte davon keinen Gebrauch.
Die Variante, die River Trail nutzte, lief 15-mal schneller ab als die in reinem JavaScript entwickelte Version.
Nach Aussage von Brendan Eich, dem Erfinder von JavaScript und heutigem Chief Technology Officer von Mozilla, kommt die Technik außerdem ohne die berüchtigten Fußangeln der Parallelprogrammierung wie Deadlocks und Race Conditions aus.
Zudem lässt sich die Technik sehr gut in den Canvas-Befehl von HTML5 einbetten, und die soll auch gut mit WebGL zusammenarbeiten. WebGL gilt als kommender Standard für Hardware-beschleunigte 3-D-Grafik im Internet.
Bei Google läuft C++-Code in der Browser-Sandbox
Google setzt stattdessen auf eine andere Technik, um Webanwendungen und nativen Code miteinander zu versöhnen.
Der Ansatz des Suchmaschinenkrösus trägt den Namen Native Client und besteht aus einer abgesicherten Ablaufumgebung – einer sogenannten Sandbox –, in der C++-Code läuft.. Diese Sandbox ist in den Google-Browser Chrome 14 eingebettet.
Als Verbindung zur Außenwelt fungiert bei Google eine Programmierschnittstelle (API) namens Pepper. Diese API ermöglicht die Interaktion mit dem nativen Client.
Während Google den nativen Client als natürliche Erweiterung des Internets ansieht, sind die Browserhersteller Mozilla und Opera dagegen skeptisch.
Chris Blizzard, Opensource-Evangelist bei Mozilla, sagte gegenüber The Register, dass der native Client alle Vorteile der Internet-Technologie wie Plattformneutralität und die Möglichkeit, in Skriptsprachen zu programmieren, in den Wind schlage: "Durch die Entwicklung der Browser in den letzten Jahren wurden existierende Websites um das Zehnfache verbessert. Die Evolution der Browser hat alle Seiten schneller gemacht, egal ob die Seiten in den letzten Jahren aktualisiert wurden. Mit dem Native Client verschwindet das alles."
Derzeit funktioniert der Native Client lediglich auf x86-Chips. Eine portable Version des Clients ist derzeit in der Entwicklung. Ähnlich wie bei Java soll hier eine virtuelle Maschine dafür sorgen, dass der native Code in Echtzeit plattformgerecht übersetzt wird.l
(ID:29303660)