Google entwickelt für seinen Browser Chrome eine neue Rendering-Engine namens Blink. Bislang setzt Google auf das von Apple gestartete Webkit-Projekt. Google hofft, mit Blink einen ähnlichen Effekt in den Bereichen Rendering und Layout zu erzielen wie einst mit V8 im Bereich Javascript.
Google verabschiedet sich vom Webkit-Projekt und entwickelt mit Blink eine eigene Rendering-Engine für Chrome. Damit erhält das Web eine weitere Rendering-Engine neben Webkit, Gecko (Mozilla) und Trident (Microsoft). Der norwegische Browserhersteller Opera, der kürzlich seinen Wechsel auf Googles Webkit-Variante ankündigte, wird ebenfalls auf Blink setzen und sich an der Entwicklung beteiligen.
Die Entwicklung von Blink beginnt nicht bei null, vielmehr handelt es sich bei Googles neuer Rendering-Engine um einen Webkit-Fork. Galt bisher für Googles Browserentwickler aber die Prämisse, möglichst wenig von Webkit abzuweichen, um den Austausch von Code zu ermöglichen, sind für Blink grundlegende Änderungen an der Architektur geplant, ohne Rücksicht auf andere Webkit-Nutzer. Schon bisher unterscheidet sich die in Chrome genutzte Webkit-Variante in einem entscheidenden Aspekt von anderen Webkit-Browsern: Chrome verwendet eine andere Multi-Prozess-Architektur, was über die Jahre einen großen Mehraufwand erzeugte, dessen sich Google mit Blink entledigen will.
[h=3]Google hat mit Blink Großes vor[/h]Letztendlich will Google das Web mit Blink besser machen und hofft auf einen ähnlichen Effekt auf andere Browser wie ihn einst Googles Javascript-Engine V8 hatte. V8 war anfangs deutlich schneller als alle anderen Javascript-Engines und wurde seit Veröffentlichung der ersten Chrome-Beta weiter beschleunigt. Andere Browserhersteller zogen nach, so dass alle modernen Browser heute über Javascript-Engines verfügen, die um ein Vielfaches schneller sind als noch vor wenigen Jahren. Dadurch lassen sich im Web Dinge realisieren, die vor V8 nicht möglich waren. So wird es demnächst beispielsweise möglich sein, dieUnreal Engine von Epic Games direkt im Browser auszuführen.
Um das zu erreichen, plant Google, die Architektur der Rendering-Engine grundlegend zu überarbeiten und auf dieser Basis einige Neuerungen einzuführen. Beispielsweise sollen "Out-of-Process-iFrames" eingeführt werden. Diese sollen es Chromium erlauben, die Bestandteile einer Website in separate Sandbox-Prozesse aufzuteilen. Zudem soll der Netzwerkcode vereinfacht und beschleunigt werden, denn der derzeit in Webkit enthaltene Netzwerkcode ist durch einige alte Mac-Webkit-APIs eingeschränkt, die Google nicht verändern kann und daher bislang Wege finden musste, diese APIs zu umgehen. Das hat sich als fehleranfällig erwiesen.
Darüber hinaus wollen die Blink-Entwickler das komplette Document Object Model (DOM) in Javascript verlegen. Das könnte den Zugriff auf das DOM mittels Javascript deutlich beschleunigen. Da die Javascript-Engines heute sehr schnell sind, hat sich der Zugriff auf das DOM zu einem der größten Flaschenhälse entwickelt. Um eine solche Veränderung aber umzusetzen, müssen große Teile der DOM-Implementierung von Webkit neu geschrieben werden. In der aktuellen Konstellation, in der Webkit zwei Javascript-Engines - Javascriptcore und V8 - unterstützen muss, wäre das besonders schwierig. Zudem können einige Abstraktionen wegfallen, die derzeit notwendig sind, um die beiden Javascript-Engines zu unterstützen.
Darüber soll der Webcore der Rendering-Engine in Module aufgeteilt und um DOM3-Events und UI-Events erweitert werden, mehr Code direkt an das Sandbox Platform API des Browsers angebunden sowie die Nutzung von Multicore-Prozessoren durch Parallelisierung verbessert werden.
Es geht bei den Veränderungen aber nicht nur um mehr Geschwindigkeit, auch die Sicherheit des Browsers soll erhöht werden. So soll der Compositor-Thread besser abgesichert werden und iFrames eigene Sandboxes erhalten.
[h=1]Kaum Auswirkungen auf Webentwickler[/h]Auf Webentwickler soll Blink keine großen Auswirkungen haben. Im ersten Schritt will sich Goolge vor allem auf die interne Architektur der Rendering-Engine konzentrieren und den Code vereinfachen. Googles Entwickler gehen davon aus, dass sich sieben Build-Systeme abschalten und rund 7.000 Dateien mit mehr als 4,5 Millionen Codezeilen eliminieren lassen. Langfristig soll die kleine Codebasis zu mehr Stabilität und weniger Bugs führen.
Neue Funktionen sollen in Abstimmung mit anderen Browserherstellern auf Basis offener Standards entwickelt werden, um für einige, möglichst große Kompatibilität zu sorgen. Die Blink-Entwickler gehen davon aus, dass die neue Rendering-Engine dem Ökosystem Web helfen und für mehr Innovation sorgen wird.
[h=3]Keine Herstellerpräfixe[/h]Auf Herstellerpräfixe wird Blink verzichten, denn es habe sich gezeigt, dass dieses Vorgehen dem Web schadet. Viele Webentwickler begnügen sich damit, einzelne Herstellerpräfixe - vor allem -webkit - zu unterstützen und verzichten auf entsprechende Standardvarianten, so dass ihre Websites nur in wenigen Browsern wie gewünscht funktionieren, obwohl andere Browser die gleichen Funktionen bieten.
Blink soll daher lediglich die heute von Webkit unterstützten Präfixe verwenden, bis diese durch die jeweiligen Standardversionen ersetzt werden können. Einen eigenen Präfix wie -chrome für neue Funktionen wird Blink nicht erhalten.
Stattdessen will Google neue Funktionen von Anfang an ohne Präfix unterstützen, ohne diese aber in der Standardeinstellung zu aktivieren. Wer sie nutzen will, kann sie mit dem Schalter "enable experimental web platform features", der unter about:flags in Chrome zu finden ist, aktivieren. Mozilla geht einen ähnlichen Weg.
Das Chromium Features Dashboard gibt einen Überblick, wie Google die Entwicklung neuer Funktionen einschätzt und wie entschieden wird, wann eine neue Funktion standardmäßig aktiviert wird. Dabei gilt: Es sollte zwei andere Browser geben, die mindestens in ihren Entwicklerzweigen eine Neuerung auf interoperable Art und Weise unterstützen. Zudem muss die zuständige Standardisierungsorganisation, beispielsweise das W3C, eine Funktion als reif für Implementierungen deklariert haben. In seltenen Fällen werde man von diesen strikten Regeln aber durchaus abweichen, so Google.
[h=3]Blink ist Open Source[/h]Blink wird als Open Source entwickelt. Googles neue Rendering-Engine ist Teil des Chromium-Projekts, der Open-Source-Version von Googles Browser Chrome. Jeder soll sich an dem Projekt beteiligen können. Der Blink-Code steht Link ist nicht mehr aktiv. für Entwickler bereit. Noch erfordert es allerdings unnötig viel Handarbeit, um Chromium mit Blink aus dem Quelltext zu erzeugen. Das soll sich in den kommenden Tagen ändern.
[h=3]Positive Reaktionen auf Blink[/h]Opera war ganz offenbar schon vorab über Googles Pläne informiert. Vermutlich waren sie ein Grund, warum sich Opera dafür entschied, von der eigenen Rendering-Engine Presto auf Webkit umzusteigen und dabei auf Googles Variante mit V8 zu setzen. Bei Mozilla zeigt man sich über die Entwickler erfreut. "Mit einem Wimpernschlag ('Blink of an Eye') sei das Argument, jeder verwendet Webkit, verschwunden", twittert Mozilla-Entwickler Chris Heilmann. Ähnlich argumentiert auch Mozilla-Entwickler Robert O'Callahan: Ab sofort reiche es nicht mehr aus, nur für Webkit zu entwickeln. O'Callahan macht sich aber darüber Sorgen, wie sich Blink auf Apple auswirken wird. Safari hinke anderen Browsern schon heute hinterher, obwohl Google das Projekt bislang vorangetrieben habe.
golem.de
Google verabschiedet sich vom Webkit-Projekt und entwickelt mit Blink eine eigene Rendering-Engine für Chrome. Damit erhält das Web eine weitere Rendering-Engine neben Webkit, Gecko (Mozilla) und Trident (Microsoft). Der norwegische Browserhersteller Opera, der kürzlich seinen Wechsel auf Googles Webkit-Variante ankündigte, wird ebenfalls auf Blink setzen und sich an der Entwicklung beteiligen.
Die Entwicklung von Blink beginnt nicht bei null, vielmehr handelt es sich bei Googles neuer Rendering-Engine um einen Webkit-Fork. Galt bisher für Googles Browserentwickler aber die Prämisse, möglichst wenig von Webkit abzuweichen, um den Austausch von Code zu ermöglichen, sind für Blink grundlegende Änderungen an der Architektur geplant, ohne Rücksicht auf andere Webkit-Nutzer. Schon bisher unterscheidet sich die in Chrome genutzte Webkit-Variante in einem entscheidenden Aspekt von anderen Webkit-Browsern: Chrome verwendet eine andere Multi-Prozess-Architektur, was über die Jahre einen großen Mehraufwand erzeugte, dessen sich Google mit Blink entledigen will.
[h=3]Google hat mit Blink Großes vor[/h]Letztendlich will Google das Web mit Blink besser machen und hofft auf einen ähnlichen Effekt auf andere Browser wie ihn einst Googles Javascript-Engine V8 hatte. V8 war anfangs deutlich schneller als alle anderen Javascript-Engines und wurde seit Veröffentlichung der ersten Chrome-Beta weiter beschleunigt. Andere Browserhersteller zogen nach, so dass alle modernen Browser heute über Javascript-Engines verfügen, die um ein Vielfaches schneller sind als noch vor wenigen Jahren. Dadurch lassen sich im Web Dinge realisieren, die vor V8 nicht möglich waren. So wird es demnächst beispielsweise möglich sein, dieUnreal Engine von Epic Games direkt im Browser auszuführen.
Um das zu erreichen, plant Google, die Architektur der Rendering-Engine grundlegend zu überarbeiten und auf dieser Basis einige Neuerungen einzuführen. Beispielsweise sollen "Out-of-Process-iFrames" eingeführt werden. Diese sollen es Chromium erlauben, die Bestandteile einer Website in separate Sandbox-Prozesse aufzuteilen. Zudem soll der Netzwerkcode vereinfacht und beschleunigt werden, denn der derzeit in Webkit enthaltene Netzwerkcode ist durch einige alte Mac-Webkit-APIs eingeschränkt, die Google nicht verändern kann und daher bislang Wege finden musste, diese APIs zu umgehen. Das hat sich als fehleranfällig erwiesen.
Darüber hinaus wollen die Blink-Entwickler das komplette Document Object Model (DOM) in Javascript verlegen. Das könnte den Zugriff auf das DOM mittels Javascript deutlich beschleunigen. Da die Javascript-Engines heute sehr schnell sind, hat sich der Zugriff auf das DOM zu einem der größten Flaschenhälse entwickelt. Um eine solche Veränderung aber umzusetzen, müssen große Teile der DOM-Implementierung von Webkit neu geschrieben werden. In der aktuellen Konstellation, in der Webkit zwei Javascript-Engines - Javascriptcore und V8 - unterstützen muss, wäre das besonders schwierig. Zudem können einige Abstraktionen wegfallen, die derzeit notwendig sind, um die beiden Javascript-Engines zu unterstützen.
Darüber soll der Webcore der Rendering-Engine in Module aufgeteilt und um DOM3-Events und UI-Events erweitert werden, mehr Code direkt an das Sandbox Platform API des Browsers angebunden sowie die Nutzung von Multicore-Prozessoren durch Parallelisierung verbessert werden.
Es geht bei den Veränderungen aber nicht nur um mehr Geschwindigkeit, auch die Sicherheit des Browsers soll erhöht werden. So soll der Compositor-Thread besser abgesichert werden und iFrames eigene Sandboxes erhalten.
[h=1]Kaum Auswirkungen auf Webentwickler[/h]Auf Webentwickler soll Blink keine großen Auswirkungen haben. Im ersten Schritt will sich Goolge vor allem auf die interne Architektur der Rendering-Engine konzentrieren und den Code vereinfachen. Googles Entwickler gehen davon aus, dass sich sieben Build-Systeme abschalten und rund 7.000 Dateien mit mehr als 4,5 Millionen Codezeilen eliminieren lassen. Langfristig soll die kleine Codebasis zu mehr Stabilität und weniger Bugs führen.
Neue Funktionen sollen in Abstimmung mit anderen Browserherstellern auf Basis offener Standards entwickelt werden, um für einige, möglichst große Kompatibilität zu sorgen. Die Blink-Entwickler gehen davon aus, dass die neue Rendering-Engine dem Ökosystem Web helfen und für mehr Innovation sorgen wird.
[h=3]Keine Herstellerpräfixe[/h]Auf Herstellerpräfixe wird Blink verzichten, denn es habe sich gezeigt, dass dieses Vorgehen dem Web schadet. Viele Webentwickler begnügen sich damit, einzelne Herstellerpräfixe - vor allem -webkit - zu unterstützen und verzichten auf entsprechende Standardvarianten, so dass ihre Websites nur in wenigen Browsern wie gewünscht funktionieren, obwohl andere Browser die gleichen Funktionen bieten.
Blink soll daher lediglich die heute von Webkit unterstützten Präfixe verwenden, bis diese durch die jeweiligen Standardversionen ersetzt werden können. Einen eigenen Präfix wie -chrome für neue Funktionen wird Blink nicht erhalten.
Stattdessen will Google neue Funktionen von Anfang an ohne Präfix unterstützen, ohne diese aber in der Standardeinstellung zu aktivieren. Wer sie nutzen will, kann sie mit dem Schalter "enable experimental web platform features", der unter about:flags in Chrome zu finden ist, aktivieren. Mozilla geht einen ähnlichen Weg.
Das Chromium Features Dashboard gibt einen Überblick, wie Google die Entwicklung neuer Funktionen einschätzt und wie entschieden wird, wann eine neue Funktion standardmäßig aktiviert wird. Dabei gilt: Es sollte zwei andere Browser geben, die mindestens in ihren Entwicklerzweigen eine Neuerung auf interoperable Art und Weise unterstützen. Zudem muss die zuständige Standardisierungsorganisation, beispielsweise das W3C, eine Funktion als reif für Implementierungen deklariert haben. In seltenen Fällen werde man von diesen strikten Regeln aber durchaus abweichen, so Google.
[h=3]Blink ist Open Source[/h]Blink wird als Open Source entwickelt. Googles neue Rendering-Engine ist Teil des Chromium-Projekts, der Open-Source-Version von Googles Browser Chrome. Jeder soll sich an dem Projekt beteiligen können. Der Blink-Code steht Link ist nicht mehr aktiv. für Entwickler bereit. Noch erfordert es allerdings unnötig viel Handarbeit, um Chromium mit Blink aus dem Quelltext zu erzeugen. Das soll sich in den kommenden Tagen ändern.
[h=3]Positive Reaktionen auf Blink[/h]Opera war ganz offenbar schon vorab über Googles Pläne informiert. Vermutlich waren sie ein Grund, warum sich Opera dafür entschied, von der eigenen Rendering-Engine Presto auf Webkit umzusteigen und dabei auf Googles Variante mit V8 zu setzen. Bei Mozilla zeigt man sich über die Entwickler erfreut. "Mit einem Wimpernschlag ('Blink of an Eye') sei das Argument, jeder verwendet Webkit, verschwunden", twittert Mozilla-Entwickler Chris Heilmann. Ähnlich argumentiert auch Mozilla-Entwickler Robert O'Callahan: Ab sofort reiche es nicht mehr aus, nur für Webkit zu entwickeln. O'Callahan macht sich aber darüber Sorgen, wie sich Blink auf Apple auswirken wird. Safari hinke anderen Browsern schon heute hinterher, obwohl Google das Projekt bislang vorangetrieben habe.
golem.de