Articles

Povestea din spatele Google Chrome

Ben Goodger and Google Chrome

Google a lansat ieri după-amiază cel de-al doilea browser web, adăugând spațiu de manevră suplimentar pentru aplicațiile web care depășesc limitele a ceea ce este posibil de realizat într-un browser web. Echipa Google Chrome a adunat experți în domeniu din diverse domenii în ultimii șase ani, atât prin angajări directe, cât și prin achiziții, pentru a crea de la zero un nou browser și componentele sale esențiale. GMail și Google Maps au împins Web-ul la limitele sale, profitând de tehnologiile de browser inventate în Redmond, dar lăsate în adormire pentru mult prea mult timp. Contribuția la nucleul Firefox, scrierea de extensii de browser și promovarea HTML nu puteau duce compania de 150 de miliarde de dolari decât până la un anumit punct: trebuia să dețină browserul complet pentru a-și împinge eforturile Web la viteză maximă.

  1. Frustrări în creștere
  2. Stimularea achiziției
  3. Un nou browser de la zero
  4. Rev your JavaScript Engines
  5. Cunoașteți echipa
  6. Rezumat

Frustrări în creștere

Brian Rakowski s-a alăturat Google în iulie 2002 ca primul manager asociat de produs al companiei. Prima sa misiune? Să lanseze GMail cu caracteristici și capacitate de reacție care să rivalizeze cu clienții de poștă electronică desktop. Gmail a exploatat caracteristici relativ adormite ale browserelor, cum ar fi XMLHttpRequest, sockets, prefetch și altele, pentru a crea o aplicație web care întindea limitele a ceea ce era posibil în browserele web din 2004. Gmail de astăzi continuă să se lovească de limitele unui browser, stabilind cerințe minime de Internet Explorer 7+ și Firefox 2+. Echipele de aplicații web Google, cum ar fi Maps și Mail, se lovesc continuu de cele mai recente capacități ale browserelor web și, în unele cazuri, își inventează propriile runtimes.

Ian Hickson a învățat pentru prima dată mecanismele interne ale browserelor web în timp ce era stagiar la Netscape. După ce a lucrat la Opera timp de câțiva ani și a creat teste pentru Firefox, Ian s-a alăturat companiei Google pentru a-și continua munca la noile caracteristici ale browserului. HTML5 și testele „acide” de conformitate a browserelor sunt încercări semnificative ale lui Ian și ale altora de a redefini browserele web prin specificații, teste și implementări, dar până acum Google nu a putut oferi decât ajutor pentru dezvoltare și extensii de browser, cum ar fi Gears, pentru a accelera capacitățile browserului.

Google a extins ceea ce nu a putut adăuga imediat la nucleul browserului. Gears pentru funcționalitatea noilor aplicații pe mai multe browsere. Browser Sync pentru a sincroniza setările și datele browserului pe mai multe calculatoare. Safe Browsing pentru a crea mai multă încredere în web. Echipe de la fiecare dintre aceste extensii lucrează acum la Google Chrome.

Acquisition Boost

Google a lansat primul său browser web oficial pe 18 august 2008, odată cu lansarea versiunii beta a sistemului de operare mobil Android. Google a achiziționat Android în august 2005 pentru a pune piciorul în piața de calculatoare (și Web) cu cea mai rapidă creștere: telefoanele mobile. Android pune în evidență proprietățile web ale Google prin intermediul browserului său bazat pe WebKit și al aplicațiilor dependente. În vara anului 2005, Google a achiziționat Reqwireless, cu sediul în Ottawa, și browserul său web mobil, pentru a face echipă cu echipa Android în ceea ce privește interfața web. Vizualizările web fac parte integrantă din Android, iar Google Chrome împărtășește o mare parte din codul Android, inclusiv motorul său grafic.

Google Chrome și Android profită amândouă de biblioteca de grafică vectorială Skia, dezvoltată de o mică companie din Carolina de Nord pe care Google a achiziționat-o în 2005. Echipa Skia a lucrat anterior la motorul grafic al popularului browser mobil Openwave. Browserul Google Chrome include portări ale motorului grafic Skia pentru Windows, Mac și Linux.

Google a achiziționat compania de securitate a aplicațiilor GreenBorder în mai 2007. Tehnologia GreenBorder sandboxează automat codul web și traficul de rețea prin crearea unei punți între aplicații. Tehnologia GreenBorder a izolat instanțele Internet Explorer sau Firefox într-un „sandbox” în interiorul instanțelor mașinii virtuale. Aceste sandbox-uri formează straturile de izolare a codului din Google Chrome, protejând alte tab-uri și sistemul de operare părinte de codul care se execută pe fiecare pagină web.

Un nou browser de la zero

Ben Goodger, responsabilul tehnic al Google Chrome, este cunoscut mai ales pentru că a asamblat browserul web Firefox din suita de aplicații SeaMonkey de la Mozilla. Manticore, Camino și, mai târziu, Firefox au fost toate încercări din 2001 de a regândi browserul web pentru epoca modernă. Navigarea a fost plasată în centrul atenției, departe de o suită de comunicații, interfețele de utilizator au fost reimaginate pentru a fi eficiente pe Web, iar (o parte din) elementele moștenite au fost aruncate la o parte. Google l-a angajat pe Ben în 2005 pentru a-și consolida propriile contribuții la browser și, în cele din urmă, pentru a re-arhitectura complet un browser web pentru webul modern.

Google a angajat în 2005 și 2006 dezvoltatori de top ai Firefox, precum Darin Fisher, Pam Greene și Brian Ryner. În primăvara anului 2006, echipa a început să lucreze la un nou prototip de browser construit pe WebKit, conceput pentru aplicații web conectate în bandă largă, mereu active, cum ar fi Gmail sau Google Maps. Ar putea experții în browsere să ofere aplicațiilor web un anumit spațiu de respirație?

Computerele moderne dispun de procesoare multi-core multi-gigahertz, gigabyte de memorie, megabiți de lățime de bandă și hard disk-uri voluminoase. Browserele noastre web ar trebui să separe filele de browser în procese proprii, să fie multi-thread în toate comunicațiile cu sistemul de operare, să mărească dimensiunile cache-ului și să nu se teamă să comande mai multă lățime de bandă atunci când este disponibilă. Internet Explorer 8, Firefox 3.1 și Apple Safari adoptă abordări noi ale browserelor web pentru mașinile moderne, dar Google Chrome are avantajul unui nou început pentru a realiza unele caracteristici care nu sunt posibile în prezent în alte arhitecturi de browsere.

Caracteristici precum izolarea filelor și monitorizarea sarcinilor sunt sarcini dificil de adăugat în interiorul unei arhitecturi de browsere existente de timpuri de execuție și modele de ferestre partajate (așa cum a menționat John Resig). Loosely Coupled IE al Internet Explorer 8 abstractizează parțial instanțele de tab-uri ale browserului, iar industria se îndreaptă, în general, în această direcție.

Monitorizarea resurselor specifice aplicațiilor web ar trebui să motiveze mai multe site-uri web să își reducă blocajul browserului, acum că acestea au fost identificate. Utilizatorii individuali pot, de asemenea, să compare utilizarea resurselor aplicațiilor web direct cu omologii lor de pe desktop.

Rev your JavaScript Engines

Lars Bak și echipa sa din Århus, Danemarca, au petrecut mulți ani scriind mașini virtuale: timpii de execuție care traduc codul de programare în cod mașină. Lars a scris mașina virtuală Java a celor de la Sun, HotSpot, iar mai târziu a subțiat mașina virtuală pentru J2ME (proiectul CLDC HI Monty). În urmă cu câțiva ani, Lars și echipa sa din Danemarca au început să lucreze la un nou motor JavaScript interpretat, optimizat pentru arhitecturi x86 și ARM.

Motorul V8 este reglat în mod special pentru sarcini JavaScript recursive, optimizând componentele utilizate în mod obișnuit ale aplicației dumneavoastră. V8 este multi-threaded, deschizând noi posibilități de procesare paralelă pe mai multe nuclee de calcul. V8 ghicește modul în care ați putea utiliza codul JavaScript și revine asupra oricăror presupuneri eronate. Este doar unul dintre noile motoare pe care le vom vedea în interiorul browserelor noastre web până la sfârșitul anului 2008.

Google Chrome ar fi putut folosi același interpretor JavaScript ca și motorul său de redare WebKit (JavaScriptCore, SquirrelFish), dar echipa a avut ocazia și finanțarea necesară pentru a rescrie un interpret de la zero pentru timpii de execuție pentru desktop și mobil.

Motorul V8 permite noi seturi de caracteristici pentru aplicațiile web ale Google, cum ar fi Gmail și Google Maps. Dezvoltatorii de aplicații web evită să adauge caracteristici care încetinesc vizibil browserele sau provoacă pauze de procesare în experiența aplicației. Noua viteză în domenii noi adaugă funcționalitate aplicațiilor existente. Programatorii Google ar trebui să creeze un cod mai eficient, testat pe mai multe interpretoare și optimizat pentru computerele moderne, ca urmare a V8. Chiar dacă Google Chrome nu câștigă o cotă de piață semnificativă pentru browsere, mă aștept ca acesta să fie cel mai bun browser single-site pentru aplicațiile web Google.

Google Chrome adaugă funcționalitate JavaScript suplimentară prin Gears. Gears este inclus în fiecare instalare Chrome, adăugând noi funcționalități în browserul web mai rapid decât plugin-urile anterioare. Bibliotecile Gears includ suport pentru noi structuri cache locale, baze de date locale, date de localizare, sarcini de fundal și gestionarea fișierelor. Chrome sporește amprenta Gears disponibilă pentru dezvoltatorii web, inclusiv pentru aplicațiile proprii ale Google, cum ar fi Google Reader și Google Docs (și blogul meu). Actualul cod Gears inclus în Chrome reproduce codul V8 și sqlite deja prezent în browser, un bolt-on care, sperăm, va fi integrat în viitorul apropiat.

Chrome, V8 și Gears vor fi un nou teren de testare pentru eforturile Google în domeniul HTML5, câștigând un nou loc la masă ca implementator cu grupurile de standardizare din amonte, cum ar fi W3C.

Întâlnire cu echipa

Questions with the Google Chrome leads

Sunt urmărite cel puțin 20 de persoane implicate în proiectul Google Chrome în cadrul Google. Sunt sigur că jurnalele de comitere Chromium vor dezvălui și mai multe (actualizare: o listă mai completă aici), dar mai jos este un scurt rezumat al personalului Chrome.

Brian Rakowski, Lead Product Manager Brian a fost primul manager de produs asociat al Google în 2002, desemnat pentru Gmail. Ulterior a lucrat la plugin-ul Google Browser Sync Firefox. Ben Goodger, inginer software Ben este fostul șef de proiect Firefox 1.0. De asemenea, a fost autorul sistemului de extensii Firefox. S-a alăturat companiei Google în 2005. Mike Pinkerton, Technical Lead Mike este unul dintre membrii echipei Google responsabili de aducerea Chrome pe Mac. Mike a lucrat la Netscape și, mai târziu, la clientul AOL alimentat cu Gecko, înainte de a fi co-fondator al proiectului Camino. Mike s-a alăturat Google în septembrie 2005 și continuă să conducă dezvoltarea Camino. Darin Fisher, inginer software Darin a contribuit frecvent la baza de coduri Firefox. S-a specializat în biblioteci de rețea, cookie-uri și permisiuni, precum și în Netscape Portable Runtime. Darin s-a alăturat companiei Google în 2005. Lars Bak, inginer de software, V8 Lars a fost dezvoltatorul principal al Java HotSpot VM și Monty VM în J2ME pentru Sun. Înainte de a se alătura Google, a fost cofondator al unor companii de VM orientate pe obiecte pentru dispozitive integrate. Lars a lucrat la V8 de la o fermă din Århus, Danemarca, înainte de a muta echipa în birourile universitare. Kasper Lund, inginer de software, V8 Kasper împarte cu Lars Bak o lungă istorie de lucru cu mașinile virtuale. Brian Ryner, inginer de software Brian este un fost contributor la Firefox, unde a adăugat suport pentru mousewheel, a modificat nucleul motorului de redare Gecko, gestionarea parolelor și instalatorii Linux. Pam Greene, inginer software Pam este un vechi colaborator Firefox. Ea a adăugat OpenSearch în browser și a contribuit la căutarea full-text în Places/AwesomeBar. Ian Fette, manager de produs Ian este un fost colaborator Firefox care a lucrat la anti-phishing, anti-malware, corecția ortografică și la Safe Browsing API. Arnaud Weber, inginer software Arnaud a fost director de cercetare și dezvoltare la Netscape și Borland înainte de a se alătura Google pentru a lucra la un „proiect secret” în septembrie 2006. Brett Wilson, inginer de software Brett a lucrat anterior la bara de instrumente Google. El a contribuit la funcțiile de istoric și marcaje din Firefox. Mike Belshe, inginer de software Mike a contribuit la scrierea unui add-on pentru Outlook numit Chrome pentru Lookout Software înainte de a fi achiziționat de Microsoft. Mike a lucrat, de asemenea, la Netscape și Good Technology. Huan Ren, inginer de software Huan lucrează la controlul fluxului de rețea, negociind interacțiunile browserului cu resursele de rețea. Huan a lucrat anterior la Microsoft. Erik Kay, inginer de software Erik a lucrat anterior la browserul AvantGo, la software-ul anti-spam Qurb pentru Outlook și Outlook Express. Glen Murphy, inginer software Glen este specializat în proiectarea interfeței cu utilizatorul. El a lucrat anterior la interfața cu utilizatorul. extensii Firefox. Google Browser Sync, Google Blog Search Evan Martin, inginer de software Evan scrie instrumente de testare automată pentru Chrome și Web. John Abd-El-Malek, inginer de software John face parte din echipa de specialiști Windows de la Google, aducând Google Desktop, Google Talk , și Breakpad pe Windows XP și Windows Vista. Amanda Walker, inginer de software Amanda este una dintre persoanele responsabile de viitoarea versiune Mac a Chrome. Mark Mentovai, inginer de software Mark a fost foarte implicat în trecerea Firefox pentru Mac la actuala arhitectură bazată pe Intel. A lucrat la proiectul Breakpad și la multe niveluri de cod al Chrome. Carlos Pizano, inginer de software Carlos a lucrat anterior la GreenBorder și continuă să lucreze la sandboxing-ul Chrome. Mark Larson, manager de program Mark a lucrat și el anterior la GreenBorder și la specialitățile sale de sandboxing. Aaron Boodman, inginer de software, Gears Aaron îmbunătățește experiența utilizatorului cu ajutorul JavaScript. Este cunoscut mai ales pentru munca sa la Gmail, Greasemonkey și Gears.

Rezumat

Google Chrome original logo

Activitatea Google depinde de viteza și disponibilitatea accesului la Web pentru căutare, publicitate și aplicații. Chrome este a doua încercare a Google de a controla mai bine ușa din față a conținutului său cu aplicații complete optimizate pentru aplicațiile sale grele. Google Chrome se bazează pe munca depusă de Android prin adăugarea de aplicații individuale la sistemele de operare deja populare. Google a cochetat cu ideea propriului său browser web timp de mulți ani, dar abia recent a lansat implementări funcționale ale propriilor sale aplicații complete de browser.

Android, Chrome și Gears vor continua să crească la unison și să extindă piese individuale în sisteme de operare consacrate. Google construiește o nouă suită de straturi de extragere a aplicațiilor care ar trebui să aibă o influență puternică pe Windows, Mac și Linux pentru a controla direct destinul companiei pe aceste platforme.

Este o perioadă interesantă pentru noile tehnologii de browser, deoarece Internet Explorer, Firefox și WebKit concurează fiecare în ceea ce privește implementările de standarde și performanța. Adăugarea oficială a Google Chrome în spațiul browserelor nu face decât să întărească poziția Google care consolidează viitorul web și oferă experiențe puternice de navigare pe un singur site pentru aplicațiile web de bază ale acestora.

.