Articles

Die Geschichte hinter Google Chrome

Ben Goodger and Google Chrome

Google hat gestern Nachmittag seinen zweiten Webbrowser veröffentlicht und damit zusätzlichen Spielraum für Webanwendungen geschaffen, die die Grenzen dessen, was mit einem Webbrowser möglich ist, ausreizen. Das Google Chrome-Team hat in den letzten sechs Jahren Experten aus verschiedenen Bereichen angeworben und übernommen, um einen neuen Browser und seine wichtigsten Komponenten von Grund auf zu entwickeln. GMail und Google Maps brachten das Web an seine Grenzen und nutzten die Vorteile von Browsertechnologien, die in Redmond erfunden, aber viel zu lange ungenutzt blieben. Die Mitarbeit am Kern von Firefox, das Schreiben von Browser-Erweiterungen und das Eintreten für HTML konnten das 150-Milliarden-Dollar-Unternehmen nur so weit bringen: Sie mussten den kompletten Browser besitzen, um ihre Web-Bemühungen mit voller Geschwindigkeit voranzutreiben.

  1. Wachsende Frustrationen
  2. Akquisitionsschub
  3. Ein neuer Browser von Grund auf
  4. Rev your JavaScript Engines
  5. Meet the Team
  6. Summary

Wachsende Frustrationen

Brian Rakowski kam im Juli 2002 zu Google als erster Associate Product Manager des Unternehmens. Seine erste Aufgabe? GMail mit Funktionen und einer Reaktionsfähigkeit auf den Markt zu bringen, die mit denen von Desktop-Mailprogrammen konkurrieren. Gmail nutzte relativ schlummernde Browserfunktionen wie XMLHttpRequest, Sockets, Prefetch und mehr, um eine Webanwendung zu erstellen, die die Grenzen dessen, was in Webbrowsern von 2004 möglich war, sprengte. Das heutige Google Mail stößt weiterhin an die Grenzen eines Browsers und stellt Mindestanforderungen von Internet Explorer 7+ und Firefox 2+. Google-Webapplikationsteams wie Maps und Mail stoßen ständig an die neuesten Möglichkeiten von Webbrowsern und erfinden in einigen Fällen ihre eigenen Laufzeiten.

Ian Hickson lernte das Innenleben von Webbrowsern kennen, als er ein Praktikum bei Netscape machte. Nachdem er einige Jahre an Opera gearbeitet und Tests für Firefox erstellt hatte, wechselte Ian zu Google, um seine Arbeit an neuen Browserfunktionen fortzusetzen. HTML5 und Browser-Compliance-„Acid“-Tests sind wichtige Versuche von Ian und anderen, Webbrowser durch Spezifikationen, Tests und Implementierungen neu zu definieren, aber bisher konnte Google nur Entwicklungshilfe und Browser-Erweiterungen wie Gears anbieten, um die Browser-Funktionen zu beschleunigen.

Google erweiterte, was es nicht sofort zum Browser-Kern hinzufügen konnte. Gears für neue Anwendungsfunktionen auf mehreren Browsern. Browser Sync zum Synchronisieren von Browsereinstellungen und Daten auf mehreren Computern. Safe Browsing, um mehr Vertrauen in das Internet zu schaffen. Teams von jeder dieser Erweiterungen arbeiten jetzt an Google Chrome.

Akquisitionsschub

Google veröffentlichte seinen ersten offiziellen Webbrowser am 18. August 2008 mit der Beta-Version des mobilen Betriebssystems Android. Google erwarb Android im August 2005, um auf dem am schnellsten wachsenden Computer- (und Web-) Markt Fuß zu fassen: den mobilen Endgeräten. Android hebt die Web-Eigenschaften von Google durch seinen WebKit-basierten Browser und abhängige Anwendungen hervor. Google erwarb im Sommer 2005 das in Ottawa ansässige Unternehmen Reqwireless und dessen mobilen Webbrowser, um mit dem Android-Team an der Webschnittstelle zu arbeiten. Webansichten sind ein integraler Bestandteil von Android, und Google Chrome nutzt einen Großteil des Android-Codes, einschließlich der Grafik-Engine.

Google Chrome und Android nutzen beide die Skia-Vektorgrafikbibliothek, die von einem kleinen Unternehmen in North Carolina entwickelt wurde, das Google 2005 erwarb. Das Skia-Team arbeitete früher an der Grafik-Engine des beliebten mobilen Browsers von Openwave. Der Google Chrome-Browser enthält Portierungen der Skia-Grafik-Engine für Windows, Mac und Linux.

Google erwarb im Mai 2007 das Anwendungssicherheitsunternehmen GreenBorder. Die GreenBorder-Technologie stellt automatisch eine Sandbox für Webcode und Netzwerkverkehr her, indem sie eine Brücke zwischen den Anwendungen bildet. Die GreenBorder-Technologie isoliert Internet Explorer- oder Firefox-Instanzen in einer „Sandbox“ innerhalb von Instanzen virtueller Maschinen. Diese Sandboxen bilden die Code-Isolationsebenen von Google Chrome und schützen andere Tabs und das übergeordnete Betriebssystem vor dem Code, der auf jeder Webseite ausgeführt wird.

Ein neuer Browser von Grund auf

Ben Goodger, der technische Leiter von Google Chrome, ist vor allem dafür bekannt, dass er den Firefox-Webbrowser aus Mozillas SeaMonkey-Anwendungssuite entwickelt hat. Manticore, Camino und später Firefox waren 2001 allesamt Versuche, den Webbrowser für das moderne Zeitalter neu zu konzipieren. Das Browsen stand im Mittelpunkt und wurde von einer Kommunikations-Suite abgelöst, die Benutzeroberflächen wurden im Hinblick auf die Effizienz des Webs neu gestaltet und (einige) veraltete Funktionen wurden beiseite geschoben. Google stellte Ben im Jahr 2005 ein, um seine eigenen Browserbeiträge zu verstärken und schließlich einen Webbrowser für das moderne Web vollständig neu zu entwickeln.

Google stellte 2005 und 2006 führende Firefox-Entwickler wie Darin Fisher, Pam Greene und Brian Ryner ein. Im Frühjahr 2006 begann das Team mit der Arbeit an einem neuen Browser-Prototyp, der auf WebKit aufbaut und für Webanwendungen wie Gmail oder Google Maps konzipiert ist, die über eine Breitbandverbindung verfügen und immer verfügbar sind. Könnten die Browserexperten Webanwendungen eine Atempause verschaffen?

Moderne Computer verfügen über Multi-Core-Multigigahertz-CPUs, Gigabytes an Speicher, Megabits an Bandbreite und große Festplatten. Unsere Webbrowser sollten Browser-Tabs in eigene Prozesse aufteilen, die gesamte Kommunikation mit dem Betriebssystem über mehrere Threads abwickeln, die Cache-Größen erhöhen und sich nicht scheuen, mehr Bandbreite zu beanspruchen, wenn sie verfügbar ist. Internet Explorer 8, Firefox 3.1 und Apple Safari verfolgen neue Ansätze für Webbrowser für moderne Rechner, aber Google Chrome hat den Vorteil eines Neuanfangs, um einige Funktionen zu erreichen, die derzeit in anderen Browser-Architekturen nicht möglich sind.

Funktionen wie Tab-Isolierung und Task-Überwachung sind schwierig in eine bestehende Browser-Architektur mit gemeinsam genutzten Run-Times und Fenstermodellen einzufügen (wie John Resig erwähnte). Internet Explorer 8’s Loosely Coupled IE abstrahiert teilweise Browser-Tab-Instanzen und die Industrie geht generell in diese Richtung.

Webanwendungsspezifische Ressourcenüberwachung sollte mehr Webseiten dazu motivieren, ihren Browser-Bloat zu reduzieren, nachdem sie nun identifiziert wurden. Einzelne Benutzer können auch die Ressourcennutzung von Webanwendungen direkt mit der ihrer Desktop-Computer vergleichen.

Rev your JavaScript Engines

Lars Bak und sein Team in Århus, Dänemark, haben viele Jahre damit verbracht, virtuelle Maschinen zu schreiben: die Laufzeiten, die Programmiercode in Maschinencode übersetzen. Lars hat die Java VM von Sun, HotSpot, geschrieben und später die VM für J2ME (CLDC HI Projekt Monty) verschlankt. Vor ein paar Jahren begannen Lars und sein Team in Dänemark mit der Arbeit an einer neuen interpretierten JavaScript-Engine, die für x86- und ARM-Architekturen optimiert ist.

Die V8-Engine ist speziell auf rekursive JavaScript-Aufgaben abgestimmt und optimiert häufig verwendete Komponenten Ihrer Anwendung. V8 ist Multithreading-fähig und eröffnet neue Möglichkeiten für die parallele Verarbeitung auf mehreren Rechenkernen. V8 errät, wie Sie Ihren JavaScript-Code verwenden könnten, und zieht sich bei fehlerhaften Annahmen zurück. Es ist nur eine der neuen Engines, die wir bis Ende 2008 in unseren Webbrowsern sehen werden.

Google Chrome hätte denselben JavaScript-Interpreter wie seine WebKit-Rendering-Engine (JavaScriptCore, SquirrelFish) verwenden können, aber das Team hatte die Möglichkeit und die finanziellen Mittel, einen Interpreter für Desktop- und mobile Laufzeiten von Grund auf neu zu schreiben.

Die V8-Engine ermöglicht neue Funktionen für die Webanwendungen von Google wie Gmail und Google Maps. Entwickler von Webanwendungen vermeiden es, Funktionen hinzuzufügen, die Browser sichtbar verlangsamen oder Verarbeitungspausen in der Anwendung verursachen. Neue Geschwindigkeit in neuen Bereichen erweitert die Funktionalität bestehender Anwendungen. Die Programmierer von Google sollten effizienteren Code erstellen, der mit mehreren Interpretern getestet und dank V8 für moderne Computer optimiert wurde. Selbst wenn Google Chrome keine nennenswerten Marktanteile gewinnt, gehe ich davon aus, dass es der beste Single-Site-Browser für Google-Webanwendungen sein wird.

Google Chrome bietet mit Gears zusätzliche JavaScript-Funktionen. Gears wird mit jeder Chrome-Installation gebündelt und fügt dem Webbrowser schneller als bisherige Plugins neue Funktionen hinzu. Die Gears-Bibliotheken bieten Unterstützung für neue lokale Cache-Strukturen, lokale Datenbanken, Standortdaten, Hintergrundaufgaben und Dateiverarbeitung. Chrome vergrößert den verfügbaren Gears-Fußabdruck für Webentwickler, einschließlich Googles eigener Anwendungen wie Google Reader und Google Docs (und mein Blog). Der derzeit in Chrome enthaltene Gears-Code repliziert V8- und Sqlite-Code, der bereits im Browser vorhanden ist, ein Zusatz, der hoffentlich in naher Zukunft integriert werden wird.

Chrome, V8 und Gears werden ein neues Testfeld für Googles HTML5-Bemühungen sein und einen neuen Sitz am Tisch als Implementierer bei vorgelagerten Standardisierungsgruppen wie dem W3C gewinnen.

Meet the Team

Questions with the Google Chrome leads

Ich verfolge mindestens 20 Personen, die bei Google am Chrome-Projekt beteiligt sind. Ich bin sicher, dass die Chromium-Commit-Protokolle noch mehr aufdecken werden (Update: vollständigere Liste hier), aber im Folgenden finden Sie eine kurze Zusammenfassung der Chrome-Mitarbeiter.

Brian Rakowski, Lead Product Manager Brian war 2002 Googles erster Associate Product Manager, der für Gmail zuständig war. Später arbeitete er an dem Google Browser Sync Firefox-Plugin. Ben Goodger, Software-Ingenieur Ben ist der ehemalige Projektleiter von Firefox 1.0. Er hat auch das System der Firefox-Erweiterungen entwickelt. Er kam 2005 zu Google. Mike Pinkerton, Technical Lead Mike ist eines der Mitglieder des Google-Teams, die für die Einführung von Chrome auf dem Mac verantwortlich sind. Mike arbeitete bei Netscape und später am Gecko-basierten AOL-Client, bevor er das Camino-Projekt mitbegründete. Mike kam im September 2005 zu Google und leitet weiterhin die Camino-Entwicklung. Darin Fisher, Software-Ingenieur Darin war ein häufiger Mitarbeiter an der Firefox-Codebasis. Er spezialisierte sich auf Netzwerkbibliotheken, Cookies und Berechtigungen sowie auf die Netscape Portable Runtime. Darin kam 2005 zu Google. Lars Bak, Software Engineer, V8 Lars war der Hauptentwickler von Java HotSpot VM und Monty VM in J2ME für Sun. Bevor er zu Google kam, war er Mitbegründer von objektorientierten VM-Unternehmen für eingebettete Geräte. Lars arbeitete an V8 von einem Bauernhof in Århus, Dänemark, aus, bevor er das Team in Universitätsbüros verlegte. Kasper Lund, Software Engineer, V8 Kasper teilt mit Lars Bak eine lange Geschichte in der Arbeit an virtuellen Maschinen. Brian Ryner, Software-Ingenieur Brian hat früher an Firefox mitgewirkt, wo er die Unterstützung für das Mausrad hinzufügte und den Kern der Gecko-Rendering-Engine, die Passwortverwaltung und die Linux-Installationsprogramme optimierte. Pam Greene, Software-Ingenieurin Pam ist eine langjährige Firefox-Mitarbeiterin. Sie hat OpenSearch zum Browser hinzugefügt und zur Volltextsuche in Places/AwesomeBar beigetragen. Ian Fette, Produktmanager Ian ist ein ehemaliger Firefox-Mitarbeiter, der an Anti-Phishing, Anti-Malware, Rechtschreibkorrektur und der Safe Browsing API gearbeitet hat. Arnaud Weber, Software-Ingenieur Arnaud ist ehemaliger Direktor für Forschung und Entwicklung bei Netscape und Borland, bevor er im September 2006 zu Google kam, um an einem „geheimen Projekt“ zu arbeiten. Brett Wilson, Software-Ingenieur Brett hat früher an der Google Toolbar gearbeitet. Er trug zu den Verlaufs- und Lesezeichenfunktionen von Firefox bei. Mike Belshe, Software-Ingenieur Mike half bei der Entwicklung eines Outlook-Add-ons namens Chrome für Lookout Software, bevor es von Microsoft übernommen wurde. Mike arbeitete auch bei Netscape und Good Technology. Huan Ren, Software-Ingenieur Huan arbeitet an der Netzwerkflusskontrolle, die die Interaktionen zwischen Browser und Netzwerkressourcen regelt. Huan arbeitete früher bei Microsoft. Erik Kay, Software-Ingenieur Erik hat früher am AvantGo-Browser und an der Anti-Spam-Software Qurb für Outlook und Outlook Express gearbeitet. Glen Murphy, Software-Ingenieur Glen ist auf die Gestaltung von Benutzeroberflächen spezialisiert. Er hat zuvor an Benutzeroberflächen gearbeitet. Firefox-Erweiterungen. Google Browser Sync, Google Blog Search Evan Martin, Software Engineer Evan schreibt automatisierte Test-Tools für Chrome und das Web. John Abd-El-Malek, Software Engineer John ist Teil des Windows-Spezialistenteams bei Google, das Google Desktop, Google Talk und Breakpad auf Windows XP und Windows Vista bringt. Amanda Walker, Software Engineer Amanda ist eine der Verantwortlichen für die kommende Mac-Version von Chrome. Mark Mentovai, Software-Ingenieur Mark war maßgeblich an der Umstellung von Firefox für Mac auf seine aktuelle Intel-basierte Architektur beteiligt. Er hat am Breakpad-Projekt und an vielen Ebenen des Chrome-Codes gearbeitet. Carlos Pizano, Software-Ingenieur Carlos hat früher an GreenBorder gearbeitet und arbeitet weiterhin an der Sandboxing-Funktion von Chrome. Mark Larson, Program Manager Mark war ebenfalls früher bei GreenBorder und dessen Sandboxing-Spezialitäten tätig. Aaron Boodman, Software Engineer, Gears Aaron verbessert die Benutzerfreundlichkeit mit JavaScript. Er ist vor allem für seine Arbeit an Gmail, Greasemonkey und Gears bekannt.

Zusammenfassung

Google Chrome original logo

Googles Geschäft hängt von der Geschwindigkeit und Verfügbarkeit des Webzugangs zu Suche, Werbung und Anwendungen ab. Chrome ist Googles zweiter Versuch, die Eingangstür zu seinen Inhalten mit vollständigen Anwendungen, die für seine umfangreichen Anwendungen optimiert sind, besser zu kontrollieren. Google Chrome baut auf der Arbeit von Android auf, indem einzelne Anwendungen zu bereits beliebten Betriebssystemen hinzugefügt werden. Google liebäugelt seit vielen Jahren mit der Idee eines eigenen Webbrowsers, hat aber erst kürzlich funktionierende Implementierungen seiner eigenen vollständigen Browseranwendungen veröffentlicht.

Android, Chrome und Gears werden weiterhin gemeinsam wachsen und einzelne Teile in etablierte Betriebssysteme integrieren. Google baut eine neue Suite von Anwendungsextraktionsschichten auf, die einen starken Einfluss auf Windows, Mac und Linux haben sollte, um die Geschicke des Unternehmens auf diesen Plattformen direkt zu steuern.

Es ist eine aufregende Zeit für neue Browsertechnologien, da Internet Explorer, Firefox und WebKit jeweils um die Implementierung von Standards und Leistung konkurrieren. Die offizielle Aufnahme von Google Chrome in den Browserbereich stärkt Googles Position bei der Stärkung des zukünftigen Webs und bietet starke Single-Site-Browsing-Erlebnisse für seine wichtigsten Webanwendungen.