Příběh za Google Chrome
Google včera odpoledne vydal svůj druhý webový prohlížeč a přidal další prostor pro webové aplikace, které překračují hranice možností webového prohlížeče. Tým Google Chrome shromáždil v průběhu posledních šesti let odborníky na různé oblasti, a to jak přímým najímáním, tak akvizicemi, aby od základu vytvořil nový prohlížeč a jeho kritické součásti. GMail a Mapy Google posunuly web až k jeho hranicím a využily technologie prohlížeče vynalezené v Redmondu, ale příliš dlouho ponechané ladem. Přispívání do jádra Firefoxu, psaní rozšíření prohlížeče a prosazování jazyka HTML mohlo společnost s kapitálem 150 miliard dolarů dovést jenom tak daleko: potřebovala vlastnit celý prohlížeč, aby mohla své webové úsilí posunout vpřed plnou rychlostí.
- Rostoucí frustrace
- Akviziční boom
- Nový prohlížeč od nuly
- Rev your JavaScript Engines
- Poznejte tým
- Shrnutí
Rostoucí frustrace
Brian Rakowski nastoupil do Googlu v červenci 2002 jako první pomocný produktový manažer společnosti. Jeho první úkol? Spustit GMail s funkcemi a rychlostí odezvy konkurenčních poštovních klientů pro stolní počítače. Gmail využil relativně spící funkce prohlížečů, jako jsou XMLHttpRequest, sockety, prefetch a další, a vytvořil webové aplikace překračující hranice možností webových prohlížečů z roku 2004. Dnešní Gmail i nadále naráží na limity prohlížeče a klade minimální požadavky na Internet Explorer 7+ a Firefox 2+. Týmy webových aplikací Google, jako jsou Mapy a Pošta, neustále narážejí na nejnovější možnosti webových prohlížečů a v některých případech vymýšlejí vlastní runtime.
Ian Hickson se poprvé seznámil s vnitřním fungováním webových prohlížečů během stáže ve společnosti Netscape. Po několika letech práce na prohlížeči Opera a vytváření testů pro Firefox nastoupil Ian do společnosti Google, aby pokračoval v práci na nových funkcích prohlížeče. HTML5 a „kyselé“ testy shody prohlížeče jsou významným pokusem Iana a dalších o novou definici webových prohlížečů prostřednictvím specifikací, testů a implementací, ale až dosud mohl Google nabídnout pouze pomoc při vývoji a rozšíření prohlížeče, jako je Gears, které urychlují možnosti prohlížeče.
Google rozšířil to, co nemohl okamžitě přidat do jádra prohlížeče. Gears pro nové funkce aplikací ve více prohlížečích. Browser Sync pro synchronizaci nastavení a dat prohlížeče na více počítačích. Bezpečné prohlížení pro vytvoření větší důvěryhodnosti webu. Týmy z každého z těchto rozšíření nyní pracují na prohlížeči Google Chrome.
Zvýšení akvizice
Společnost Google vydala svůj první oficiální webový prohlížeč 18. srpna 2008 spolu s beta verzí mobilního operačního systému Android. Společnost Google získala Android v srpnu 2005, aby se prosadila na nejrychleji rostoucím trhu s počítači (a webem): na trhu mobilních telefonů. Android zdůrazňuje webové vlastnosti společnosti Google prostřednictvím svého prohlížeče založeného na WebKitu a závislých aplikací. Společnost Google získala v létě 2005 ottawskou společnost Reqwireless a její mobilní webový prohlížeč, aby se spojila s týmem Androidu na jeho webovém rozhraní. Webová zobrazení jsou nedílnou součástí systému Android a Google Chrome sdílí velkou část kódu systému Android, včetně jeho grafického jádra.
Google Chrome i Android využívají vektorovou grafickou knihovnu Skia vyvinutou malou společností v Severní Karolíně, kterou Google získal v roce 2005. Tým Skia dříve pracoval na grafickém jádru populárního mobilního prohlížeče Openwave. Prohlížeč Google Chrome obsahuje porty grafického jádra Skia pro systémy Windows, Mac a Linux.
V květnu 2007 společnost Google koupila společnost GreenBorder, která se zabývá zabezpečením aplikací. Technologie GreenBorder automaticky sandboxuje webový kód a síťový provoz tím, že vytváří most mezi aplikacemi. Technologie GreenBorder izolovala instance aplikací Internet Explorer nebo Firefox do „sandboxu“ uvnitř instancí virtuálních počítačů. Tyto sandboxy tvoří izolační vrstvy kódu prohlížeče Google Chrome a chrání ostatní karty a nadřazený operační systém před kódem prováděným na jednotlivých webových stránkách.
Nový prohlížeč od nuly
Ben Goodger, technický vedoucí prohlížeče Google Chrome, je známý především tím, že z aplikační sady SeaMonkey od společnosti Mozilla sestavil webový prohlížeč Firefox. Manticore, Camino a později Firefox byly v roce 2001 pokusy o přepracování webového prohlížeče pro moderní dobu. Prohlížení se dostalo do popředí zájmu místo komunikační sady, uživatelská rozhraní byla přepracována pro efektivitu webu a (některé) starší prvky byly odhozeny stranou. Společnost Google najala Bena v roce 2005, aby posílil svůj vlastní přínos pro prohlížeč a nakonec plně přebudoval webový prohlížeč pro moderní web.
Google najal v letech 2005 a 2006 špičkové vývojáře Firefoxu, jako jsou Darin Fisher, Pam Greene a Brian Ryner. Na jaře 2006 začal tým pracovat na novém prototypu prohlížeče postaveném nad WebKitem a určeném pro širokopásmově připojené, neustále zapnuté webové aplikace, jako je Gmail nebo Google Maps. Mohli by odborníci na prohlížeče dát webovým aplikacím prostor k dýchání?“
Současné počítače jsou vybaveny vícejádrovými vícegigahertzovými procesory, gigabajty paměti, megabity šířky pásma a objemnými pevnými disky. Naše webové prohlížeče by měly oddělovat karty prohlížeče do vlastních procesů, vícevláknově komunikovat s operačním systémem, zvyšovat velikost mezipaměti a nebát se přikázat větší šířku pásma, pokud je k dispozici. Internet Explorer 8, Firefox 3.1 a Apple Safari používají nové přístupy k webovým prohlížečům pro moderní počítače, ale Google Chrome má výhodu nového začátku, aby dosáhl některých funkcí, které v současné době nejsou možné v jiných architekturách prohlížečů.
Funkce, jako je izolace karet a monitorování úloh, jsou obtížné úkoly, které lze přidat uvnitř stávající architektury prohlížeče se sdílenými běhovými časy a modely oken (jak zmínil John Resig). Loosely Coupled IE v Internet Exploreru 8 částečně abstrahuje instance karet prohlížeče a průmysl se obecně ubírá tímto směrem.
Monitorování zdrojů specifických pro webové aplikace by mělo motivovat více webových stránek ke snížení objemu jejich prohlížeče, když už byly identifikovány. Jednotliví uživatelé mohou také porovnávat využití prostředků webových aplikací přímo se svými protějšky na desktopu.
Rev your JavaScript Engines
Lars Bak a jeho tým v dánském Århusu strávili mnoho let psaním virtuálních strojů: běhových časů, které překládají programový kód do strojového kódu. Lars napsal virtuální stroj Javy společnosti Sun, HotSpot, a později zeštíhlil virtuální stroj pro J2ME (projekt CLDC HI Monty). Před několika lety začal Lars se svým týmem v Dánsku pracovat na novém interpretovaném enginu JavaScriptu optimalizovaném pro architektury x86 a ARM.
Engine V8 je speciálně vyladěn pro rekurzivní úlohy JavaScriptu a optimalizuje běžně používané součásti aplikace. V8 je vícevláknový, což otevírá nové možnosti paralelního zpracování na více výpočetních jádrech. V8 odhaduje, jak byste mohli používat kód JavaScriptu, a zpětně vyhodnocuje všechny chybné předpoklady. Je to jen jeden z nových motorů, které uvidíme uvnitř našich webových prohlížečů do konce roku 2008.
Google Chrome mohl použít stejný interpret JavaScriptu jako jeho vykreslovací jádro WebKit (JavaScriptCore, SquirrelFish), ale tým měl možnost a finanční prostředky přepsat interpret od základu pro běhové prostředí pro stolní počítače a mobilní zařízení.
Motor V8 umožňuje nové sady funkcí pro webové aplikace Google, jako je Gmail a Google Maps. Vývojáři webových aplikací se vyhýbají přidávání funkcí, které viditelně zpomalují prohlížeče nebo způsobují pauzy ve zpracování aplikací. Nová rychlost v nových oblastech přidává funkce do stávajících aplikací. Programátoři společnosti Google by měli vytvářet efektivnější kód, testovaný proti více interpretům a optimalizovaný pro moderní počítače jako výsledek V8. I když Google Chrome nezíská žádný významný podíl na trhu prohlížečů, stále očekávám, že bude nejlepším prohlížečem pro jednu stránku webových aplikací Google.
Google Chrome přidává další funkce JavaScriptu prostřednictvím Gears. Gears je součástí každé instalace prohlížeče Chrome a přidává do něj nové funkce rychleji než předchozí zásuvné moduly. Knihovny Gears obsahují podporu nových struktur místní vyrovnávací paměti, místních databází, údajů o poloze, úloh na pozadí a práce se soubory. Chrome zvyšuje dostupnou stopu Gears pro webové vývojáře, včetně vlastních aplikací Google, jako je Google Reader a Google Docs (a můj blog). Současný kód Gears obsažený v prohlížeči Chrome kopíruje kód V8 a sqlite, který je již v prohlížeči přítomen, což je doplněk, který snad bude v blízké budoucnosti integrován.
Chrome, V8 a Gears se stanou novým testovacím polem pro snahy společnosti Google v oblasti HTML5 a získají nové místo u stolu jako implementátor u skupin pro upstream standardy, jako je W3C.
Poznejte tým
Sleduji nejméně 20 lidí zapojených do projektu Google Chrome v rámci společnosti Google. Jsem si jistý, že protokoly revizí Chromu jich odhalí ještě více (aktualizace: úplnější seznam zde), ale níže je uveden stručný přehled zaměstnanců Chromu.
Brian Rakowski, vedoucí produktový manažer Brian byl v roce 2002 prvním přidruženým produktovým manažerem Googlu, přiděleným ke službě Gmail. Později pracoval na doplňku Google Browser Sync pro Firefox. Ben Goodger, softwarový inženýr Ben je bývalý vedoucí projektu Firefox 1.0. Je také autorem systému rozšíření Firefoxu. Do společnosti Google nastoupil v roce 2005. Mike Pinkerton, technický vedoucí Mike je jedním z členů týmu Google odpovědných za uvedení prohlížeče Chrome na počítače Mac. Mike pracoval ve společnosti Netscape a později na klientovi AOL poháněném technologií Gecko, než se stal spoluzakladatelem projektu Camino. Mike nastoupil do Googlu v září 2005 a nadále vede vývoj Camina. Darin Fisher, softwarový inženýr Darin byl častým přispěvatelem do kódové základny Firefoxu. Specializoval se na síťové knihovny, cookies a oprávnění a Netscape Portable Runtime. Darin nastoupil do společnosti Google v roce 2005. Lars Bak, softwarový inženýr, V8 Lars byl hlavním vývojářem Java HotSpot VM a Monty VM v J2ME pro Sun. Před nástupem do společnosti Google spoluzakládal společnosti zabývající se objektově orientovanými virtuálními stroji pro vestavná zařízení. Lars pracoval na V8 z farmy v dánském Århusu, než tým přesunul do univerzitních kanceláří. Kasper Lund, softwarový inženýr, V8 Kasper sdílí s Larsem Bakem dlouhou historii práce na virtuálních strojích. Brian Ryner, softwarový inženýr Brian je bývalým spolupracovníkem prohlížeče Firefox, kde přidal podporu kolečka myši, upravil jádro vykreslovacího jádra Gecko, správu hesel a instalátory Linuxu. Pam Greene, softwarová inženýrka Pam je dlouholetou přispěvatelkou Firefoxu. Do prohlížeče přidala OpenSearch a podílela se na fulltextovém vyhledávání v Places/AwesomeBar. Ian Fette, produktový manažer Ian je bývalý přispěvatel Firefoxu, který pracoval na ochraně proti phishingu, anti-malwaru, opravě pravopisu a rozhraní API pro bezpečné prohlížení. Arnaud Weber, softwarový inženýr Arnaud je bývalý ředitel výzkumu a vývoje ve společnostech Netscape a Borland, než se v září 2006 připojil ke společnosti Google a pracoval na „tajném projektu“. Brett Wilson, softwarový inženýr Brett dříve pracoval na panelu nástrojů Google. Podílel se na historii a funkcích záložek ve Firefoxu. Mike Belshe, softwarový inženýr Mike pomáhal psát doplněk aplikace Outlook s názvem Chrome pro společnost Lookout Software, než ji koupila společnost Microsoft. Mike dříve pracoval také ve společnostech Netscape a Good Technology. Huan Ren, softwarový inženýr Huan pracuje na řízení síťového toku, vyjednávání interakcí prohlížeče se síťovými zdroji. Huan dříve pracoval ve společnosti Microsoft. Erik Kay, softwarový inženýr Erik dříve pracoval na prohlížeči AvantGo, antispamovém softwaru Qurb pro Outlook a Outlook Express. Glen Murphy, softwarový inženýr Glen se specializuje na návrh uživatelského rozhraní. Dříve pracoval na uživatelském rozhraní. Rozšíření pro Firefox. Google Browser Sync, Google Blog Search Evan Martin, softwarový inženýr Evan píše automatizované testovací nástroje pro Chrome a web. John Abd-El-Malek, softwarový inženýr John je součástí týmu specialistů na systém Windows ve společnosti Google, který přináší aplikace Google Desktop, Google Talk a Breakpad do systémů Windows XP a Windows Vista. Amanda Walkerová, softwarová inženýrka Amanda je jednou z osob odpovědných za připravovanou verzi prohlížeče Chrome pro počítače Mac. Mark Mentovai, softwarový inženýr Mark se významně podílel na přechodu Firefoxu pro Mac na současnou architekturu založenou na procesorech Intel. Pracoval na projektu Breakpad a na mnoha úrovních kódu prohlížeče Chrome. Carlos Pizano, softwarový inženýr Carlos dříve pracoval na projektu GreenBorder a nadále pracuje na sandboxu Chrome. Mark Larson, programový manažer Mark dříve pracoval také na projektu GreenBorder a jeho specializaci sandboxing. Aaron Boodman, softwarový inženýr, Gears Aaron zlepšuje uživatelské prostředí pomocí JavaScriptu. Je známý především díky své práci na službách Gmail, Greasemonkey a Gears.
Shrnutí
Podnikání společnosti Google závisí na rychlosti a dostupnosti webového přístupu k vyhledávání, reklamě a aplikacím. Chrome je druhým pokusem společnosti Google lépe kontrolovat přední dveře ke svému obsahu pomocí plnohodnotných aplikací optimalizovaných pro jeho náročné aplikace. Google Chrome navazuje na práci systému Android tím, že přidává jednotlivé aplikace do již oblíbených operačních systémů. Společnost Google koketuje s myšlenkou vlastního webového prohlížeče již mnoho let, ale teprve nedávno vydala funkční implementace vlastních plnohodnotných aplikací prohlížeče.
Android, Chrome a Gears se budou nadále vyvíjet ve shodě a rozšiřovat jednotlivé části do zavedených operačních systémů. Společnost Google vytváří novou sadu vrstev pro extrakci aplikací, která by měla mít silný vliv na systémy Windows, Mac a Linux a přímo řídit osud společnosti na těchto platformách.
Je to vzrušující doba pro nové technologie prohlížečů, protože Internet Explorer, Firefox a WebKit spolu soupeří o implementaci standardů a výkon. Oficiální přidání prohlížeče Google Chrome do oblasti prohlížečů jen posiluje pozici společnosti Google, která posiluje web budoucnosti, a přináší silné zážitky z prohlížení jednotlivých stránek pro její hlavní webové aplikace.