Google Chrome ist ein Webbrowser, der von Google Inc. entwickelt wird und seit dem 2. September 2008 verfügbar ist. Am 11. Dezember 2008 erschien die erste finale Version. Zentrales Konzept ist die Aufteilung des Browsers in optisch und auf Prozessebene getrennte Browser-Tabs.
Google Chrome baut auf der Rendering-Engine WebKit auf, die ihrerseits aus dem KDE-Projekt KHTML hervorging und auch in Apples Browser Safari zum Einsatz kommt.
Google Chrome soll ein integraler Bestandteil des Google Chrome OS werden, Googles auf Linux basierendem Betriebssystem für Netbooks und ähnlich leistungsschwache Rechner.
Allgemein
Zu Beginn gab es den Browser nur für Microsoft Windows XP (ab SP2), Vista und Windows 7. Seit Dezember 2009 waren Betaversionen für Linux und Mac OS X verfügbar, seit Version 5 (Mai 2010) gibt es auch stabile Versionen für diese Betriebssysteme.
Chromium
Der Großteil des Quelltextes von Google Chrome wird von Google unter dem Namen Chromium im Rahmen der BSD-Lizenz als quelloffenes Software-Projekt zur Verfügung gestellt. Das Kopieren und Ändern der Binärversion von Chrome selbst verbieten die „Terms of Service“ jedoch ausdrücklich.
Nicht im Chromium-Projekt enthaltene Bestandteile von Google Chrome sind:
- Markenkennzeichen (Name und Logo)
- Paketverwaltung GoogleUpdate
- RLZ identifier
- Adobe Flash Player
- Google Updater
- integrierter PDF-Betrachter
Offiziell bezieht sich der Name Chromium ausschließlich auf das Software-Projekt, während der Webbrowser den Namen Chrome trägt. Allerdings gibt es auf Chromium-Code basierende Browser, die unter dem Namen Chromium bereitgestellt werden. Dies ist insbesondere bei den Versionen der Fall, die über die Paketverwaltung von Linux-Distributionen installiert werden.
Software
In Chrome wird, wie auch in Android, die von Apple vorangetriebene Rendering-Engine WebKit verwendet. Die JavaScript-Implementierung V8 ist als Freie Software veröffentlicht worden und stammt vom dänischen V8-Team, unterstützt Mehrkernprozessoren und ein dynamisches Optimierungsverfahren, bei dem JavaScript-Objekte versteckt um geteilte Klassen erweitert werden.
Auch das Tabbed Browsing wurde von Grund auf neu entwickelt. Anders als in vergleichbaren Browsern, in denen alle Reiter Teile eines einzelnen laufenden Programmes sind, sollen die Reiter in Chrome in sich geschlossene Prozesse sein und als solche auch in einem eigenen Task-Manager kontrollierbar sein (aus Leistungsgründen teilen sich allerdings in der Standardkonfiguration kleine Gruppen von Reitern einen Prozess). Durch die Aufteilung in mehrere Prozesse soll vermieden werden, dass ein einziger Reiter, in dem ein rechenintensiver Prozess läuft, die Leistung des gesamten Browsers in Mitleidenschaft zieht.
Außerdem werden die Prozesse der Reiter (Renderer-Prozesse) in einer Sandbox ausgeführt und haben damit nur sehr eingeschränkte Möglichkeiten, mit anderen Prozessen zu interagieren, Dateizugriffe sind nur über das Hauptprogramm (Browser-Prozess) möglich. Dadurch wird das Gros an Schadcode, das von geöffneten Websites aus eine Sicherheitslücke im Browser ausnutzt, gehindert, einen Computer zu befallen. Pop-up-Fenster bleiben zunächst innerhalb des jeweiligen Reiters.
Die Benutzerschnittstelle lässt die Reiterfenster eigenständiger erscheinen, indem sie eigene Kontrollschaltflächen besitzen sowie eine eigene Adresszeile („Omnibox“). Diese macht unter anderem Vorschläge und erlaubt eine Volltextsuche über bisher besuchte Webseiten sowie über bisherige Suchanfragen auf zahlreichen Seiten, wie zum Beispiel Wikipedia.
Auch ist die Möglichkeit vorgesehen, Reiter für Webanwendungen ohne allgemeine Benutzerschnittstellenelemente darzustellen. Des Weiteren wird eine automatisch generierte Startseite mit den häufigst besuchten Webseiten und Suchdiensten dargestellt; auch ein Surfmodus („Incognito“), der keine Spuren auf dem lokalen System hinterlässt, ist vorhanden.
Mittels der frei zugänglichen Google Safe Browsing API erhält Chrome Listen gefährlicher Internetseiten. Chrome unterstützt die Google-API Gears und ermöglicht insbesondere Gears-Anwendungen mit mehreren Threads. Mittels der Laufzeitumgebung Gears kann Google Chrome serverbasierte Webanwendungen wie eine Desktop-Anwendung ausführen.
Google Chrome nimmt auch eine Art Vorreiterrolle in Bezug auf den Support von HTML5 ein, so erreicht der Browser beim HTML5-Test das beste Ergebnis aller berücksichtigter Webbrowser.
Architektur
Chrome besteht aus drei Teilen. Der Browser selbst ist für die Steuerung der Software zuständig, der Renderer ist im Browser implementiert und stellt einen Subprozess wie zum Beispiel einen Reiter dar. Innerhalb des Renderers befindet sich WebKit. Chrome ist komponentenbasiert aufgebaut. Die Interprozesskommunikation arbeitet nachrichtenorientiert und benutzt Channeling.
Geschwindigkeit
Google gibt an, eine besondere Stärke des Browsers sei seine Geschwindigkeit. Zusätzlich wird Chrome eine effiziente Speicherverwaltung attestiert. Insbesondere V8, die virtuelle Laufzeitumgebung von JavaScript in Chrome, soll laut Google andere Implementierungen an Geschwindigkeit übertreffen.
So läuft JavaScript in Chrome bei einem Test (Peacekeeper-Benchmark) etwa doppelt so schnell wie im Firefox 3.6 oder rund neunmal so schnell wie im Internet Explorer 8. Bei sehr rechenintensiven Tests werden diese Werte noch übertroffen. Google Chrome ist somit mindestens ebenbürtig zu Opera 10.5 und Safari 5.
Stabilität
Die Entwickler streben durch die Multiprozessarchitektur ein stabiles Laufzeitverhalten an. Dabei wird jeder neue Renderer (also jeder neue Reiter oder jede neue Seite) und jedes Plugin in eigenen Prozessen gestartet. Falls es mit einem Reiter ein Problem gibt und der Prozess endet, so wird anstelle des Inhalts bei dem Reiter ein „Sad Tab“ angezeigt. Analog wird ein „Sad Plugin“ bei fehlerhaften Pluginprozessen angezeigt.
Falls ein Reiter besonders viel Speicher, Prozessorleistung oder Netzwerkbandbreite verwendet, so kann der Benutzer dies mit dem Task-Manager erkennen und den Prozess des Reiters einzeln beenden.
Sicherheit
Bei dem Pwn2Own-Event geht es darum, verschiedene Computer mit jeweils einem Browser zu hacken. Wer das schafft, erhält als Belohnung den Computer und einen Geldpreis. Google Chrome nimmt seit 2009 am Pwn2Own-Event teil. 2011 gab es 20.000 US-Dollar als Geldpreis für einen erfolgreichen Hack, jedoch hat es am ersten von drei Tagen niemand versucht.
Aus Sicht des Bundesamt für Sicherheit in der Informationstechnik bietet Google Chrome vielversprechende Ansätze im Bezug auf die Sicherheit. Google bietet eine Belohnung für das Finden von sicherheitsrelevanten Programmfehlern an. Diese beträgt zwischen 1.000 und 3.133,7 US-Dollar. Dieser Betrag ist Leetspeak für „Elite“.
Quellcode
Sowohl die aus WebKit übernommene Rendering-Engine WebCore als auch die neu entwickelte V8-Javascript-Engine und der Rest von Google Chrome sind in C++ entwickelt. Es existieren Buildanweisungen und -dateien sowie Snapshots von Chromium für Microsoft Windows, Mac OS X und Linux.
Versionen
Erste Veröffentlichung
Als erste Veröffentlichung wurde am 2. September 2008 eine Windows-Version mit der Versionsnummer 0.2 freigegeben. Die erste stabile Version 1 folgte am 11. Dezember 2008. Mit Version 4 kam die erste auch auf Linux und Mac OS X lauffähige Version als Beta-Version heraus. Mit Version 5 wurden diese in einer stabilen Version veröffentlicht. Die Entwicklerversionen tragen inzwischen die Nummer 27 (März 2013).
Bis Version 6 wurde regelmäßig etwa alle vier Monate eine neue Hauptversion veröffentlicht. Im Sommer 2010 verkündete Google, dass von nun an alle sechs Wochen eine Hauptversion von Chrome erscheinen wird. Seitdem wurde ein etwa siebenwöchiger Rhythmus eingehalten. Durch das regelmäßige Erscheinen der Hauptversionen gibt es zwischen den Releases meist nur ein Minor-Update, um gravierende Sicherheits- und Stabilitätsprobleme zu beseitigen.
Vorabversionen
Zusätzlich zu den stabilen Versionen bietet Google Chrome drei verschiedene Vorabversionen: Beta, Dev (Developer) und Canary. Die Beta-Version beinhaltet sämtliche Neuerungen und kann von jedem getestet werden. Die Chrome Dev-Version ist hauptsächlich für Anwender und Programmierer, die ihre Software auf dem neuesten Release testen wollen. Im Gegensatz zu den Beta- und Dev-Versionen, wird die Canary-Version separat neben der anderen Google-Chrome-Version installiert. Das Canary Build wird automatisch aus der neusten Version des Open-Source-Projektes Chromium generiert und wird daher vor dem Release nicht mehr getestet. Die Canary-Version grenzt an ein Nightly Build (tägliches Update). Außerdem blockiert Google die Möglichkeit, das Canary Build als Standard-Browser zu verwenden. Aktuell ist diese Version für Microsoft Windows und Apple Mac OS X verfügbar.
Mobile Variante
Seit Februar 2012 ist Chrome auch für Android erhältlich. Laut Google lag das Augenmerk bei der Entwicklung des Browsers vor allem auf Schnelligkeit und Sicherheit. Im Vergleich zur Desktop-Version besitzt Chrome für Android eine neu gestaltete Ansicht, in der Reiter übereinander gestapelt werden.
Seit Juni 2012 ist Google Chrome auch für iOS erhältlich. Da Apple für iOS keine alternativen Browser-Engines erlaubt, basieren die HTML-Rendering-Engine und die Javascript-Implementierung auf der iOS-Komponente UIWebView. Somit ist auch Googles Javascript-Implementierung V8 auf dieser Plattform nicht verfügbar. Laut Chrome-Entwickler Sundar Pichai waren diese Zugeständnisse notwendig, um Chrome auf iOS verfügbar zu machen. Die App setzt mindestens iOS 4.3 voraus und unterstützt sowohl iPhone, iPod touch als auch den größeren Bildschirm des iPad. Wie in Chrome für Android können auch mit Chrome für iOS sämtliche Lesezeichen, geöffnete Reiter und Passwörter synchronisiert werden, sofern sich Nutzer mit einem Google-Konto anmelden.
Kritik
Angeregt von der Pressemitteilung des Bundesamt für Sicherheit in der Informationstechnik (BSI), wurde bemängelt, dass bei Nutzung von Google Chrome zu viele Daten an Google gesendet würden. Auch der Sprecher des BSI, Matthias Gärtner, äußerte datenschutzrechtliche Bedenken. Beim Tippen in der Adresszeile („Omnibox“), die zugleich Eingabefeld für Suchbegriffe und Webadressen ist, wird jedes Schriftzeichen unverschlüsselt an die vom Benutzer gewählte Suchmaschine übermittelt, um Vervollständigungsvorschläge zu ermöglichen.
Dieses Verhalten ist identisch mit der Suchbox von Internet Explorer und Firefox und ist standardmäßig deaktiviert.
Google führt in seinen Datenschutzbestimmungen diverse Informationen auf, die von Chrome an Google gesendet werden. Bis zur Version 4.0 erhielt jede Installation eine eindeutige Identifikationsnummer, die bei der Installation, bei der ersten Verwendung und bei jeder automatischen Aktualisierungsprüfung mit weiteren grundlegenden Informationen zur Browser-Installation an Google gesendet wurde. Die Identifikationsnummer konnte manuell entfernt oder über Software-Erweiterungen unterdrückt werden.
Seit Version 4.1 verzichtet Google auf die ID. Hat der Nutzer zugestimmt, werden bei Programmfehlern Daten an Google übermittelt. Darunter befinden sich „Daten über momentan geöffnete Dateien, Programme und Dienste sowie Datei-Inhalte“; in früheren Versionen ebenfalls die erwähnte Identifikationsnummer. Google begründet den Schritt mit einer dadurch vereinfachten Problembehebung.
Quelle: Wikipedia (http://de.wikipedia.org/wiki/Google_Chrome)