News : Browser Google Chrome als Beta verfügbar

, 429 Kommentare

Was bereits seit vielen Jahren vermutet wurde, hat sich nun bestätigt: Google hat heimlich, still und leise einen eigenen Browser entwickelt. Dieser soll im Gegensatz zur Konkurrenz speziell auf die Bedürfnisse moderner Webanwendungen zugeschnitten sein. Als Rendering-Engine kommt WebKit zum Einsatz.

Ausgehend von der Beobachtung, dass zahlreiche moderne Websites eher an Desktop-Anwendungen als an klassische Websites erinnern, hat Google einen im Wesentlichen komplett neuen Browser entwickelt. Die Rendering-Engine – und damit eine sehr bedeutende Komponente – hat man sich jedoch von dem Open-Source-Projekt WebKit entliehen, welches die Basis für Apples Safari-Browser und Googles Mobiltelefon-Plattform Android darstellt. Die Wahl von WebKit wird mit der kurzen Einarbeitungszeit in den Quelltext begründet – genau so begründete im Januar 2003 auch Apple die Entscheidung gegen Mozilla.

Die JavaScript-Engine hat Google jedoch aus Performance-Gründen durch eine eigene, in Dänemark entwickelte virtuelle Maschine „V8“ ersetzt. Zu Beginn der Entwicklung von V8 hat Google wahrscheinlich nicht gewusst, dass das WebKit-Projekt ebenfalls eine virtuelle Maschine (SquirrelFish) entwickeln würde, die im Mai 2008 publik gemacht wurde. SquirrelFish beschleunigt die JavaScript-Ausführung um den Faktor 4 und soll erstmals in Safari 4 zum Einsatz kommen. Obendrein arbeitet auch Mozilla an einer virtuellen Maschine zum Ausführen von JavaScript-Code, die Bestandteil von Firefox 3.1 sein wird.

Ein weiteres wesentliches Merkmal von Google Chrome ist, dass jeder Tab in einem separaten Prozess läuft. Wenn also der Prozess eines Tabs abstürzen sollte, dann hat dies keinerlei Auswirkungen auf die anderen Tabs – Microsoft macht dies mit dem Internet Explorer 8 vor. Und sobald ein Tab geschlossen wird, beendet Google Chrome den zugehörigen Prozess, woraufhin das Betriebssystem den verwendeten Speicher garantiert restlos wieder freigeben kann. Ein neuer Prozess wird auch dann erzeugt, wenn man innerhalb eines Tabs zu einer anderen Domain navigiert. Die Auswirkungen eines Speicherlecks werden somit effektiv auf die Zeit begrenzt, die man sich auf ein und derselben Website aufhält. In Verbindung mit dem Verbannen dieser Prozesse in eine Sandbox wird es durch diese Architektur für bösartigen Code prinzipiell unmöglich, aus einem Tab auszubrechen.

In diesem Zusammenhang sowohl für Webdesigner als auch für fortgeschrittene Endanwender sehr aufschlussreich ist die in den Browser integrierte Prozessverwaltung. Diese gibt einen Einblick in die von einem Tab beanspruchten Prozessor-, Speicher- und Netzwerk-Ressourcen. Anstatt pauschal dem Browser die Schuld für einen hohen Ressourcen-Bedarf zu geben, lässt sich mit diesem innovativen Feature stattdessen die schuldige Website ausfindig machen.

Die Benutzeroberfläche des Browsers zeigt – soweit man das bereits anhand des Comics beurteilen kann – Ähnlichkeiten zu Opera. Die Tableiste befindet sich oberhalb anstatt unterhalb der Adress- und Suchleiste – Tabs schließen eine Website und deren Kontrollmechanismen somit vollständig ein. Speziell für Webanwendungen wurde an die Möglichkeit gedacht, eine Website auch komplett ohne die Benutzeroberfläche des Browsers darstellen zu können, so dass diese letztendlich wie eine klassische Desktop-Anwendung aussieht – das noch unfertige Projekt Mozilla Prism lässt grüßen.

Nach dem Öffnen eines neuen Tabs wird eine Seite angezeigt, auf der sich quadratisch angeordnet die Miniaturdarstellungen von neun Websites befinden, die sich durch einen Klick öffnen lassen. Ganz offensichtlich stand hier Operas „Speed Dial“-Feature Pate. Genau wie Safari und Microsofts Internet Explorer 8 verfügt auch Google Chrome über einen „Privacy Mode“. Ist dieser für einen Tab aktiviert, so werden keinerlei Cookies, Einträge in der Chronik oder sonstige Spuren hinterlassen. Und da Google ohnehin schon den Phishing- und Malware-Filter für Mozilla Firefox betreibt, nutzt man diesen natürlich auch für den eigenen Browser. Somit bleibt Safari weiterhin der einzige Browser ohne integrierten Schutz vor versehentlicher Preisgabe vertraulicher Daten.

Im Gegensatz zur kompletten Riege der Browser-Konkurrenz verfügt Google Chrome jedoch neben der Adressleiste nicht über ein dediziertes Eingabefeld zum Starten von Suchanfragen. Stattdessen hat man die Adressleiste mit der Suchleiste verschmolzen und nennt das Ergebnis „Omnibox“. Diese ermöglicht sowohl eine Volltextsuche in allen besuchten Websites als auch das Starten einer Google-Suche.

Zum automatisierten Testen des Browsers greift Google auf die umfangreiche Website-Sammlung der eigenen Serverfarm zurück. Binnen 20 – 30 Minuten nach dem Übersetzen des Quelltexts in Maschinencode werde dieser automatisch durch Aufrufen zehntausender Websites auf die Probe gestellt. Das helfe den Entwicklern dabei, Fehler möglichst früh zu finden.

Google Chrome Comic

Eine Betaversion von Google Chrome soll noch am heutigen Dienstag in mehr als 100 Ländern zum Download bereit stehen – jedoch zunächst nur für Windows-Betriebssysteme. Man arbeite jedoch bereits an einer Version für Linux und Mac OS X.

Update 21:09 Uhr  Forum »

Die Beta-Version von Google Chrome für Windows steht ab sofort zum Download bereit.

Google Chrome 0.2

Downloads

  • Google Chrome

    3,6 Sterne

    Schneller Browser mit starker Integration des Google-Accounts und ausgereiften Entwickler-Tools.

    • Version 55.0.2883 Deutsch
429 Kommentare
Themen:
  • Steffen Weber E-Mail Twitter
    … ist verantwortlich für die Technik der Website und einer der Geschäftsführer der ComputerBase GmbH.

Ergänzungen aus der Community

  • Neocroth 02.09.2008 13:29
    Nachdem der Browser OpenSource ist wird es relativ schwer für Google, da Codeschnipsel zu verstecken, die brisante Daten nach Hause schicken. Ich denke nicht, dass sie das riskieren, denn sollte den Code ein Open Source Software Developer näher unter die Lupe nehmen (und das wird mit Sicherheit passieren), dann würde das Ganze nur zu schnell auffliegen und der Ruf des Browsers wäre unter den gut informierten Early-Adoptern ruiniert - und genau die braucht Google, um seinem Browser Marktanteile zu verschaffen.

    Ausserdem steht jedem frei, den Code mit dem GCC oder ähnlichem selbst zu kompilieren und den Output mit der Binary von Google zu vergleichen.

    Ich begrüße die Entwicklung von Google sowohl als Softwareentwickler als auch als Benutzer, es sind wirklich ein paar sehr interessante Ideen dabei.

    Und den totalen Google-Gegnern sei gesagt: auch ihr profitiert davon und zwar spätestens dann, wenn Mozilla, Apple, Microsoft oder Opera ein paar Features adaptiert.
  • gruffi 02.09.2008 16:24
    Dass Google früher oder später einen eigenen Browser veröffentlichen würde, war irgendwie abzusehen.

    Trotzdem kann ich mich mit einigen Konzepten schon im Vorfeld nicht anfreunden. Vor allem diese "Prozess je Tab" Geschichte finde ich nicht nur übertrieben, sondern eher kontraproduktiv. Damit wird ein grundsätzlicher Mehraufwand an Kommunikation zwischen Browser Engine und den einzelnen Clients betrieben. Aber wozu? Die Begründungen erscheinen mir wenig vernünftig. Einzelne Tabs in einer Sandbox laufen lassen? Mal abgesehen von der Umsetzung und Nutzbarkeit dieser Idee, wer macht das schon und welchen Vorteil bringt das? Sandbox pro Browser Instanz erfüllt bereits die wichtigsten Anforderungen. Und dann auch noch pro Domain ein eigener Prozess? Irgendwie scheint mir Google mit Kanonen auf Spatzen schiessen zu wollen. Und ob nun ein einzelner Tab abstürzt oder der gesamte Browser, spielt im Endeffekt keine Rolle. Man sollte seine Ideen lieber darin investieren, dass Abstürze überhaupt nicht zustande kommen. Gleiches gilt für Speicherlecks.
    Ich befürchte daher, Chrome wird nie der schnellste oder ressourcenschonendste Browser. Naja, mal schauen, ob diese Ideen in der Praxis alltagstauglich sind und ein gutes Produkt dabei herauskommt.

    Finde die Idee mit Prozess je Tab gut - dann werden auch Multicore-CPUs genutzt. Nighthawk13
    Prozesse sind nicht viel mehr als leblose Container, jedoch mit einigem Verwaltungsaufwand im Hintergrund. Die wirklichen Instanzen mit dem relevanten Code sind Threads. Und die reichen aus, um Multicore CPUs zu nutzen.