A Google Chrome története
A Google tegnap délután kiadta második webböngészőjét, amely további teret ad a webes alkalmazásoknak, amelyek a böngészőben megvalósítható lehetőségek határait feszegetik. A Google Chrome csapata az elmúlt hat év során – közvetlen felvételek és felvásárlások révén egyaránt – különböző területek szakértőit gyűjtötte össze, hogy a semmiből hozza létre az új böngészőt és annak kritikus komponenseit. A GMail és a Google Maps a web határait feszegette, kihasználva a Redmondban kitalált, de túl sokáig szunnyadó böngészőtechnológiákat. A Firefox magjához való hozzájárulás, a böngészőbővítmények írása és a HTML támogatása csak eddig vitte el a 150 milliárd dolláros vállalatot: a teljes böngésző birtoklására volt szükségük ahhoz, hogy teljes sebességgel haladhassanak előre a webes erőfeszítéseikkel.
- Növekvő frusztrációk
- A felvásárlás lendülete
- Egy új böngésző a semmiből
- Rev your JavaScript Engines
- Meet the Team
- Summary
Growing Frustrations
Brian Rakowski 2002 júliusában csatlakozott a Google-hoz a vállalat első társult termékmenedzsereként. Első megbízatása? Indítsa el a GMailt olyan funkciókkal és reakciókészséggel, amely az asztali levelezőprogramokkal vetekszik. A Gmail olyan viszonylag szunnyadó böngészőfunkciókat használt ki, mint az XMLHttpRequest, a sockets, a prefetch és más, hogy olyan webes alkalmazásokat hozzon létre, amelyek a 2004-es webböngészőkben elérhető lehetőségek határait feszegetik. A mai Gmail továbbra is a böngészők korlátait feszegeti, az Internet Explorer 7+ és a Firefox 2+ minimális követelményeket támasztva. A Google webes alkalmazásokkal foglalkozó csapatai, mint például a Térképek és a Mail, folyamatosan ütköznek a webböngészők legújabb képességeivel, és egyes esetekben saját futási időt találnak ki.
Ian Hickson először a Netscape-nél töltött gyakornoki ideje alatt ismerkedett meg a webböngészők belső működésével. Miután néhány évig dolgozott az Operán és teszteket készített a Firefoxhoz, Ian csatlakozott a Google-hoz, hogy folytassa a munkát az új böngészőfunkciókkal kapcsolatban. A HTML5 és a böngészők megfelelőségének “savas” tesztjei Ian és mások jelentős kísérletei a webböngészők újradefiniálására a specifikációk, tesztek és implementációk révén, de a Google eddig csak fejlesztési segítséget és böngészőbővítményeket, például a Gears-t tudta kínálni a böngésző képességeinek felgyorsítására.
A Google bővítette azt, amit nem tudott azonnal hozzáadni a böngésző magjához. Gears az új alkalmazásfunkciókhoz több böngészőn. Browser Sync a böngésző beállításainak és adatainak szinkronizálására több számítógépen. Biztonságos böngészés a nagyobb webes bizalom megteremtéséhez. E bővítések mindegyikének csapatai jelenleg a Google Chrome-on dolgoznak.
Akvizíciós Boost
A Google 2008. augusztus 18-án, az Android mobil operációs rendszer bétaverziójával együtt adta ki első hivatalos webböngészőjét. A Google 2005 augusztusában vásárolta fel az Androidot, hogy megvethesse a lábát a leggyorsabban növekvő számítógépes (és webes) piacon: a mobiltelefonok piacán. Az Android a Google webes tulajdonságait emeli ki a WebKit-alapú böngésző és a függő alkalmazások révén. A Google 2005 nyarán vásárolta fel az ottawai székhelyű Reqwireless céget és annak mobil webböngészőjét, hogy az Android csapatával közösen dolgozzon az Android webes felületén. A webes nézetek szerves részét képezik az Androidnak, és a Google Chrome az Android kódjának nagy részét megosztja, beleértve a grafikus motorját is.
A Google Chrome és az Android egyaránt kihasználja a Skia vektorgrafikus könyvtárat, amelyet egy észak-karolinai kis cég fejlesztett ki, amelyet a Google 2005-ben vásárolt fel. A Skia csapata korábban az Openwave népszerű mobilböngésző grafikus motorján dolgozott. A Google Chrome böngésző tartalmazza a Skia grafikus motor portjait Windows, Mac és Linux számára.
A Google 2007 májusában felvásárolta a GreenBorder alkalmazásbiztonsági vállalatot. A GreenBorder technológiája automatikusan sandboxolja a webkódot és a hálózati forgalmat az alkalmazások közötti híd létrehozásával. A GreenBorder technológia az Internet Explorer vagy Firefox példányokat egy “homokozóba” izolálta a virtuális gép példányain belül. Ezek a homokdobozok alkotják a Google Chrome kódszigetelő rétegeit, megvédve a többi lapot és a szülő operációs rendszert az egyes weboldalakon végrehajtott kódtól.
Egy új böngésző a semmiből
Ben Goodger, a Google Chrome technikai vezetője leginkább arról ismert, hogy a Mozilla SeaMonkey alkalmazáscsomagjából állította össze a Firefox webböngészőt. A Manticore, a Camino és később a Firefox mind 2001-ben tett kísérletek voltak a webböngésző újragondolására a modern kor számára. A böngészés került a középpontba a kommunikációs csomagtól, a felhasználói felületeket a webes hatékonyság érdekében újragondolták, és (némi) örökséget félredobtak. A Google 2005-ben felvette Bent, hogy megerősítse a saját böngésző hozzájárulásait, és végül teljesen újratervezze a modern webes böngészőt.
A Google 2005-ben és 2006-ban olyan kiváló Firefox-fejlesztőket vett fel, mint Darin Fisher, Pam Greene és Brian Ryner. A csapat 2006 tavaszán kezdett el dolgozni egy új, a WebKitre épülő böngésző prototípusán, amelyet szélessávú kapcsolatú, folyamatosan működő webes alkalmazásokhoz, például a Gmailhez vagy a Google Mapshez terveztek. A böngészőszakértők adhatnak némi lélegzetvételnyi teret a webes alkalmazásoknak?
A modern számítógépek többmagos, több gigahertzes processzorokkal, gigabájtnyi memóriával, megabites sávszélességgel és terjedelmes merevlemezekkel rendelkeznek. Webböngészőinknek a böngészőfüleket különálló folyamatokká kellene választaniuk, többszálúvá kellene tenniük minden kommunikációt az operációs rendszerrel, növelniük kellene a gyorsítótár méretét, és nem kellene félniük attól, hogy több sávszélességet parancsoljanak, ha az rendelkezésre áll. Az Internet Explorer 8, a Firefox 3.1 és az Apple Safari új megközelítéseket alkalmaz a modern gépek webböngészőihez, de a Google Chrome-nak megvan az az előnye, hogy újrakezdhet néhány olyan funkciót, amely jelenleg más böngészőarchitektúrákban nem lehetséges.
Az olyan funkciókat, mint a lapok elkülönítése és a feladatfigyelés, nehéz feladat hozzáadni egy meglévő, megosztott futási időkből és ablakmodellekből álló böngészőarchitektúrához (ahogy John Resig említette). Az Internet Explorer 8 Loosely Coupled IE részben absztrahálja a böngésző fülpéldányait, és az iparág általában ebbe az irányba halad.
A webalkalmazás-specifikus erőforrás-felügyeletnek több weboldalt kellene arra ösztönöznie, hogy csökkentse a böngésző felduzzadását, most, hogy ezeket azonosították. Az egyéni felhasználók közvetlenül is összehasonlíthatják a webes alkalmazások erőforrás-felhasználását asztali társaikkal.
Rev your JavaScript Engines
Lars Bak és csapata a dániai Århusban sok évet töltött virtuális gépek írásával: azokkal a futási időkkel, amelyek a programozási kódot gépi kódra fordítják. Lars írta a Sun Java VM-jét, a HotSpotot, majd később karcsúsította a VM-et a J2ME számára (CLDC HI projekt Monty). Néhány évvel ezelőtt Lars és dániai csapata egy új, x86-os és ARM architektúrákra optimalizált, értelmezett JavaScript motoron kezdett dolgozni.
A V8 motor kifejezetten a rekurzív JavaScript feladatokra van hangolva, optimalizálva az alkalmazás gyakran használt komponenseit. A V8 többszálú, ami új párhuzamos feldolgozási lehetőségeket nyit meg több számítási magon. A V8 kitalálja, hogyan használhatja a JavaScript-kódját, és visszavezet minden hibás feltételezést. Ez csak egyike azoknak az új motoroknak, amelyeket 2008 végére a webböngészőkben fogunk látni.
A Google Chrome használhatta volna ugyanazt a JavaScript-értelmezőt, mint a WebKit renderelőmotorja (JavaScriptCore, SquirrelFish), de a csapatnak lehetősége és pénze volt arra, hogy a semmiből írjon újra egy értelmezőt az asztali és mobil futtatók számára.
A V8 motor új funkciókészleteket tesz lehetővé a Google webes alkalmazásai, például a Gmail és a Google Maps számára. A webes alkalmazások fejlesztői elkerülik az olyan funkciók hozzáadását, amelyek láthatóan lassítják a böngészőket vagy feldolgozási szüneteket okoznak az alkalmazás élményében. Az új sebesség új területeken növeli a meglévő alkalmazások funkcionalitását. A Google programozóinak a V8 eredményeképpen hatékonyabb, többféle értelmezővel tesztelt és a modern számítógépekre optimalizált kódot kell létrehozniuk. Még ha a Google Chrome nem is szerez jelentős piaci részesedést a böngészők piacán, akkor is arra számítok, hogy ez lesz a legjobb egyoldali böngésző a Google webes alkalmazásokhoz.
A Google Chrome a Gears segítségével további JavaScript-funkciókat ad hozzá. A Gears minden Chrome-telepítéssel együtt jár, és a korábbi bővítményeknél gyorsabban ad új funkciókat a böngészőhöz. A Gears könyvtárak új helyi gyorsítótárstruktúrák, helyi adatbázisok, helyadatok, háttérfeladatok és fájlkezelés támogatását tartalmazzák. A Chrome növeli a webfejlesztők számára elérhető Gears alapterületet, beleértve a Google saját alkalmazásait, például a Google Reader-t és a Google Docs-t (és a blogomat). A Chrome-ban szereplő jelenlegi Gears kód a böngészőben már meglévő V8 és sqlite kódot replikálja, ez egy olyan kiegészítés, amelyet remélhetőleg a közeljövőben integrálnak.
A Chrome, a V8 és a Gears a Google HTML5-ös törekvéseinek új tesztelési terepe lesz, és új helyet nyer az asztalnál, mint végrehajtó az olyan upstream szabványügyi csoportokkal, mint a W3C.
Meet the Team
A Google Chrome projektben részt vevő legalább 20 embert követek nyomon a Google-n belül. Biztos vagyok benne, hogy a Chromium commit logok még többet elárulnak (frissítés: teljesebb lista itt), de az alábbiakban egy gyors összefoglaló a Chrome munkatársairól.
Brian Rakowski, vezető termékmenedzser Brian 2002-ben volt a Google első társult termékmenedzsere, akit a Gmailhez rendeltek. Később a Google Browser Sync Firefox bővítményen dolgozott. Ben Goodger, szoftvermérnök Ben a Firefox 1.0 projekt korábbi vezetője. Ő írta a Firefox bővítményrendszerét is. A Google-hoz 2005-ben csatlakozott. Mike Pinkerton, technikai vezető Mike a Google csapatának egyik tagja, aki a Chrome Mac számítógépekre történő bevezetéséért felelős. Mike a Netscape-nél, majd később a Gecko-alapú AOL-kliensen dolgozott, mielőtt társalapítója lett a Camino projektnek. Mike 2005 szeptemberében csatlakozott a Google-hoz, és továbbra is a Camino fejlesztését vezeti. Darin Fisher, szoftvermérnök Darin gyakran közreműködött a Firefox kódbázisában. A hálózati könyvtárakra, a cookie-kra és engedélyekre, valamint a Netscape Portable Runtime-ra specializálódott. Darin 2005-ben csatlakozott a Google-hoz. Lars Bak, szoftvermérnök, V8 Lars a Sun számára a Java HotSpot VM és a Monty VM központi fejlesztője volt a J2ME-ben. Mielőtt a Google-hoz csatlakozott, objektumorientált VM-vállalkozások társalapítója volt beágyazott eszközök számára. Lars egy dániai Århusban található farmról dolgozott a V8-on, mielőtt a csapat az egyetemi irodákba költözött. Kasper Lund, szoftvermérnök, V8 Kasper hosszú közös múltra tekint vissza Lars Bakkal a virtuális gépeken végzett munkában. Brian Ryner, szoftvermérnök Brian a Firefox korábbi munkatársa, ahol egérkerék-támogatást adott hozzá, finomította a Gecko renderelőmotor magját, a jelszókezelést és a Linux telepítőket. Pam Greene, szoftvermérnök Pam régóta közreműködik a Firefoxban. Ő adta hozzá az OpenSearchet a böngészőhöz, és hozzájárult a Places/AwesomeBar teljes szöveges kereséséhez. Ian Fette, termékmenedzser Ian a Firefox korábbi munkatársa, aki az adathalászat, a rosszindulatú programok elleni védelem, a helyesírás-javítás és a Safe Browsing API területén dolgozott. Arnaud Weber, szoftvermérnök Arnaud korábban a Netscape és a Borland kutatási és fejlesztési igazgatója volt, mielőtt 2006 szeptemberében csatlakozott a Google-hoz, hogy egy “titkos projekten” dolgozzon. Brett Wilson, szoftvermérnök Brett korábban a Google eszköztáron dolgozott. Hozzájárult a Firefox előzmények és könyvjelzők funkcióihoz. Mike Belshe, szoftvermérnök Mike a Lookout Software számára segített megírni a Chrome nevű Outlook-kiegészítőt, mielőtt a Microsoft felvásárolta volna. Mike korábban a Netscape-nél és a Good Technology-nál is dolgozott. Huan Ren, szoftvermérnök Huan a hálózati folyamszabályozáson dolgozik, a böngésző és a hálózati erőforrások közötti interakciókat tárgyalja. Huan korábban a Microsoftnál dolgozott. Erik Kay, szoftvermérnök Erik korábban az AvantGo böngészőn, az Outlook és az Outlook Express Qurb spamellenes szoftverén dolgozott. Glen Murphy, szoftvermérnök Glen a felhasználói felület kialakítására specializálódott. Korábban felhasználói felületen dolgozott. Firefox-bővítményeken. Google Browser Sync, Google Blog Search Evan Martin, szoftvermérnök Evan automatizált tesztelési eszközöket ír a Chrome és a web számára. John Abd-El-Malek, szoftvermérnök John a Google Windows specialista csapatának tagja, amely a Google Desktopot, a Google Talkot és a Breakpadet Windows XP-re és Windows Vistára vitte. Amanda Walker, szoftvermérnök Amanda a Chrome készülő Mac verziójának egyik felelőse. Mark Mentovai, szoftvermérnök Mark nagyban részt vett a Firefox for Mac jelenlegi Intel-alapú architektúrára való átállásában. Dolgozott a Breakpad projektben és a Chrome kódjának számos szintjén. Carlos Pizano, szoftvermérnök Carlos korábban a GreenBorderen dolgozott, és továbbra is a Chrome sandboxingján dolgozik. Mark Larson, programmenedzser Mark korábban szintén a GreenBorder és annak sandboxing specialitásain dolgozott. Aaron Boodman, szoftvermérnök, Gears Aaron a felhasználói élményt javítja a JavaScript segítségével. Leginkább a Gmailen, a Greasemonkey-n és a Gearsen végzett munkájáról ismert.
Összefoglaló
A Google üzleti tevékenysége a kereséshez, a hirdetésekhez és az alkalmazásokhoz való webes hozzáférés sebességétől és elérhetőségétől függ. A Chrome a Google második kísérlete arra, hogy a tartalomhoz vezető bejárati ajtót jobban ellenőrizze a nehéz alkalmazásokhoz optimalizált teljes körű alkalmazásokkal. A Google Chrome az Android munkájára épül azáltal, hogy egyedi alkalmazásokat ad a már népszerű operációs rendszerekhez. A Google évek óta kacérkodik a saját webböngésző gondolatával, de csak a közelmúltban adta ki saját teljes böngészőalkalmazásainak működő megvalósításait.
Az Android, a Chrome és a Gears továbbra is együtt fog növekedni, és az egyes darabokat a bevált operációs rendszerekbe bővíti. A Google egy új alkalmazás-kivonási rétegekből álló csomagot épít, amelynek erős befolyással kell rendelkeznie a Windows, Mac és Linux rendszereken, hogy közvetlenül irányíthassa a vállalat sorsát ezeken a platformokon.
Az új böngészőtechnológiák számára izgalmas időszak következik, mivel az Internet Explorer, a Firefox és a WebKit mindegyike verseng a szabványok megvalósításáért és a teljesítményért. A Google Chrome hivatalos hozzáadása a böngészőterülethez csak megerősíti a Google pozícióját, amely a jövő webjét erősíti, és erős egyoldali böngészési élményt biztosít az alapvető webes alkalmazások számára.