Sådan hæver danske udviklere fartgrænsen i Chrome til Mac og Linux

Mac- og Linux-udgaverne til Googles browser Chrome har ladet vente på sig ind til tirsdag i sidste uge. Nu fortæller dansk Chrome-udvikler, hvad tiden er gået med.

Googles browser Chrome har ind til i tirsdag kun kunne køre på Windows. Nu er betaversionerne af Mac- og Linux-udgaverne klar til download, og en stor del af udviklingsarbejdet er foregået på Googles Århus-kontor, der også står bag Javascript-motoren i browseren, V8.

Mads Ager er software-ingeniør og har været med på porteringsprojektet, selvom han mest beskæftiger sig med V8-motoren. Han mener, at ventetiden har været det hele værd, fordi beta-udgaverne nu kan indfri de forventninger, der naturligt er på de respektive platforme.

»Det har både noget med stabilitet og features at gøre. Nu er versionerne stabile, så det er ikke noget problem. Men vi ville gerne sikre et godt produkt, der falder ind i de omgivelser, der er. Og når man porterer til Mac, så er der andre forventinger til 'look and feel' end til en Windows-version for eksempel. Og Linux-version skulle også gerne falde pænt ind i KDE og Gnome, så vi har blandt andet implementeres Themes fra Gnome ind i Chrome,« fortæller Mads Ager til Version2.

En anden stor ting, holdet har arbejdet med, er sikkerheden.

»En af de helt store features i Windows-versionen er det ekstra sikkerhedslag, som Sandbox'en, den kører i, giver. Hvis en hacker vil udnytte et nyfundet hul i browseren, skal han også finde et hul i sandbox'en, hvis han skal lykkes med sit forehavende,« siger Mads Ager videre.

»Vi ledte efter noget lignende til Mac og Linux, for sikkerhed er en af de vigtigste features overhovedet. Det lykkedes os at finde nogle eksisterende løsninger til både Mac og Linux og integrere dem i Chrome,« fortsætter han.

Endelig er den bagvedliggende V8 Javascript-motor blevet tunet og hakket, så nålen på speedometeret har fået endnu et nøk i opadgående retning.

»Vi har blandt andet pillet ved interaktionen mellem DOM, Document Object Model, og Javascript, så den er blevet hurtigere. Basalt set arbejder vi hele tiden med at optimere interaktionen mellem V8 og Webkit, der renderer websiderne. Vi arbejder for eksempel med benchmarks for at finde ud af, hvor tiden forsvinder hen. Endelig arbejder vi på at minimere antallet af strengkonverteringer foruden bedre og hurtigere kode inde i V8-motoren,« siger Mads Ager.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (16)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Henrik Stig Jørgensen

Der findes tonsvis af cross-platform APIer til understøttelse af div. widget-toolkits (Qt/GTK/Win32/Mac/Wx) - uden behov for differentiering med platformsspecifik kode.

At ændre implementationen af DOM og Javascript til forskellige platforme er prøvet før i Netscape - med katastrofale konsekvenser. Mozilla har først for nylig fået tag på de sidste tilbageværende renderings-forskelle mellem FF til GNU/Linux og FF til Windows.

Er det bare mig eller er der andre der også synes at denne model er "so 90's"?

Martin Bøgelund

Der findes tonsvis af cross-platform APIer til understøttelse af div. widget-toolkits (Qt/GTK/Win32/Mac/Wx) - uden behov for differentiering med platformsspecifik kode.

[...]

Er det bare mig eller er der andre der også synes at denne model er "so 90's"?

Det kommer jo an på hvordan du stiller det op.

Din tilgang giver mening for udnyttelsen af ressourcer til udvikling og vedligehold. Men hvis det skal give mening for en bruger, er der andre tilgange der er bedre.

En Big Mac smager også éns, og laves på samme måde over hele verden. Det er effektivt og omkostningsbesparende for producenten, og man ved nogenlunde hvad man får når man bestiller en Big Mac i Kuala Lumpur, uden at have været der før.

Men smager en Big Mac godt, eller smager den genkendeligt lige dårligt alle steder?

Gnome, Mac og Windows har nuanceforskelle i deres temaer, og et "one size fits all"-tema vil se éns - men lige malplaceret - ud alle steder. Det vil i den grad bryde æstetikken og særpræget på de forskellige grafiske miljøer.

Så Google forsøger at passe grafisk ind hvor brugeren er, og ikke servere "fast food" fordi udviklerne synes det er praktisk. Det kunne andre også lære af.

Mikkel Høgh

Der findes tonsvis af cross-platform APIer til understøttelse af div. widget-toolkits (Qt/GTK/Win32/Mac/Wx) - uden behov for differentiering med platformsspecifik kode.

Alle disse er abstraktionslag, og der gælder jo den famøse law of leaky abstractions: http://www.joelonsoftware.com/articles/LeakyAbstractions.html

Jeg kender i hvert fald ikke nogen GUI cross-platform-applikationer (overhovedet) som virker som om de hører hjemme på alle de platforme de installeres på, hvor udviklerne ikke har lavet platform-specifik kode.

F.eks har OS X jo et glimrende keychain-system til sikker opbevaring af passwords og lign. Det bruger stort set alle Mac-programmer, men cross-platform apps som f.eks Firefox har deres eget. Det samme gælder for adressebogen i Thunderbird for bare tage et par af de mest graverende eksempler.

Forskellene mellem styresystemerne er utallige. Bare i måden UI'en bygges op på er der så store forskelle at den samme UI nødvendigvis ikke kan bruges på alle platformene uden at falde igennem nogen af stederne.

Et andet eksempel er Adobe, som de senere år har forsøgt sig med at lave den samme UI på både Mac og Windows, med det resultat at de har lavet deres helt eget UI-univers, som ikke rigtig passer ind på nogen af platformene.

En Big Mac smager også éns, og laves på samme måde over hele verden.

Det er nu en sandhed med modifikationer – I Danmark bruger McDonald’s f.eks dansk oksekød, svensk brød og danske grønsager (pånær de frysetørrede løg). Der ud over gør man sig i Danmark en del krumspring for at overholde vores strikse politik mht. transfedtsyrer og lign., så umiddelbart vil en Big Mac købt i Danmark nok være en smule sundere og lavet af bedre råvarer end f.eks i Bangladesh.

Det illustrerer nok også min pointe ovenfor meget godt. Uanset hvor meget man så abstraherer, vil der altid være forskellige lokale krav og forhold.

Martin Bøgelund

Det er nu en sandhed med modifikationer – I Danmark bruger McDonald’s f.eks dansk oksekød, svensk brød og danske grønsager (pånær de frysetørrede løg). Der ud over gør man sig i Danmark en del krumspring for at overholde vores strikse politik mht. transfedtsyrer og lign., så umiddelbart vil en Big Mac købt i Danmark nok være en smule sundere og lavet af bedre råvarer end f.eks i Bangladesh.

Når du nu selv henviser til Joel Spolsky...
http://www.joelonsoftware.com/articles/fog0000000024.html

The secret of Big Macs is that they're not very good, but every one is not very good in exactly the same way. If you're willing to live with not-very-goodness, you can have a Big Mac with absolutely no chance of being surprised in the slightest.

Jesper Kleis

Selv er jeg lykkelig for at Chrome går den platformsspecifikke vej.

FF som er min primære browser har problemer med smartmapper, copy/paste, OSX tjenester og applescript. Altsammen noget der binder programmerne sammen - og giver en fleksibilitet som er nødvendig. Især hvis browseren mht Googles software skal være ens primære redskab - så vil man helst undgå en påklistret UI, der ikke altid fungerer optimalt med det underliggende system.

Jesper Poulsen

"F.eks har OS X jo et glimrende keychain-system til sikker opbevaring af passwords og lign. Det bruger stort set alle Mac-programmer, men cross-platform apps som f.eks Firefox har deres eget. Det samme gælder for adressebogen i Thunderbird for bare tage et par af de mest graverende eksempler."

I Mozilla-sammenhængen vil jeg ikke kalde det graverende, tværtimod. Mozilla-opbygningen gør det muligt at anvende de 100% samme indstillinger på flere softwareplatforme. Det har jeg feks. gjort i en årrække, hvor Windows og Linux anvendte den selvsamme fysiske profil til både Firefox og Thunderbird, hhv.

Det er ikke blot smart. Det er direkte elegant og ægte cross-platform.

Mikkel Høgh

Jeg skal lige forstå om Mac OS X keychain vil være den valgte keychain i Chrome Browser?

Ja, i Chrome til OS X gemmes koder og certifikater i OS X's keychains.

I Mozilla-sammenhængen vil jeg ikke kalde det graverende, tværtimod. Mozilla-opbygningen gør det muligt at anvende de 100% samme indstillinger på flere softwareplatforme. Det har jeg feks. gjort i en årrække, hvor Windows og Linux anvendte den selvsamme fysiske profil til både Firefox og Thunderbird, hhv.

Det er ikke blot smart. Det er direkte elegant og ægte cross-platform.

Det er nok en lidt anden fortolkning af begrebet cross-platform. At man istedet for at benytte sig af de dertil indrettede faciliteter på de platforme man kører på, genopfinder hjulet og laver sig egen platform, mener jeg ikke er elegant.

Jeg forstår godt fremgangsmåden, og det er ganske vist smart at man kan bruge samme Firefox/Thunderbird profil på tværs af platforme, men brugeroplevelsen lider under det. Man ender med at have dobbelt vedligeholdelse af passwords og kryptografiske certifikater. Firefox har også sin egen malloc og sin egen håndtering af hvilket program der åbner forskellige filtyper. Thunderbirds adressebog fungerer som en silo – ingen muligheder for at synkronisere med sin telefon eller integration med andre dele af styresystemet.

Dertil kommer så at Mozilla's systemer til håndering af passwords, certifikater og adressebøger er væsentlig ringere, både på funktionalitet og interface, end de i OS X indbyggede.

Jesper Poulsen

"Jeg forstår godt fremgangsmåden, og det er ganske vist smart at man kan bruge samme Firefox/Thunderbird profil på tværs af platforme, men brugeroplevelsen lider under det."

Hvis du arbejde med mange softwareplatforme på samme maskine er brugeroplevelsen absolut i top. Der er kun én konfiguration at vedligeholde for at look and feel er det samme alle steder.

Men det er heldigvis et frit marked og hvis du mener at du ikke kan leve med at alt opfører sig på nøjagtigt samme måde uanset om du er i Solaris, Linux, Windows eller OS X, så brug noget andet software.

Jeg nyder at jeg kun skal sætte tingene op én gang.

Mikkel Høgh

Hvis du arbejde med mange softwareplatforme på samme maskine er brugeroplevelsen absolut i top. Der er kun én konfiguration at vedligeholde for at look and feel er det samme alle steder.

Der er vel nærmest to retninger inden for cross-platform system. Java Swing i det ene ende af spektrummet hvor programmet ser 99,9% identisk ud på alle platforme og fungerer lige dårligt alle steder, og i den anden ende af spektrummet WxWidgets og lignende, som tilstræber at softwaren skal passe så godt ind de enkelte platforme som muligt.

Så mens det sikkert er rart for det fåtal af Firefox-brugere der bruger samme profil på flere forskellige styresystemer at browseren ikke er integreret med styresystemets, så er det bare godt gammeldags træls for os andre.

Jesper Poulsen

"Så mens det sikkert er rart for det fåtal af Firefox-brugere der bruger samme profil på flere forskellige styresystemer at browseren ikke er integreret med styresystemets, så er det bare godt gammeldags træls for os andre."

Så brug noget andet. Du er ikke tvunget til at bruge Firefox og Thunderbird. Kan du ikke li' måden de gør det på så er du heldigvis ikke ladt i stikken. De har ikke monopol.

Mikkel Høgh

Så brug noget andet. Du er ikke tvunget til at bruge Firefox og Thunderbird. Kan du ikke li' måden de gør det på så er du heldigvis ikke ladt i stikken. De har ikke monopol.

Det gør jeg skam også. Jeg har ikke brugt Thunderbird til min egen mail i årevis, og Firefox manglende integration kan løses med forskellige extensions som System Proxy og 1Password.

Men at superbrugere kan få deres prolemer løst på den ene eller den anden måde er jo ikke nogen specielt god indikator på om software er god eller ej. Jeg kender mange mere almindelige computerbrugere, som kæmper med særhederne i forhold til Mozilla og lignende meta-platforme.

Certifikathåndteringen kræver f.eks meget dobbeltarbejde. Hvis man gerne vil distribuere sine egne SSL-certifikater, har de fleste styresystemer mekanismer til den slags, så systemadministratorerne selv kan rulle dem ud. Men det er ikke muligt med Firefox eller Thunderbird. De to programmer interopererer ikke engang med hinanden, så man skal have åbnet dem begge og gå igennem den manuelle proces med at installere certifikaterne. Og da systemadministratorerne har bedre ting at give sig til, ender den slags opgaver med at bliver overladt til brugerne – med lange wiki-sider og frustration til følge.

Troels Thomsen

Hvis du arbejde med mange softwareplatforme på samme maskine er brugeroplevelsen absolut i top. Der er kun én konfiguration at vedligeholde for at look and feel er det samme alle steder.

Jeg synes, man bør stille følgende spørgsmål:
Hvis det er vigtigt for dig, at programmerne er identiske på tværs af platforme, hvorfor da anvende mere end en platform?

For mig er styrken i flere platforme netop diversiteten og mulighed for at vælge det, der falder bedst i min smag.

Lasse Reinholt

Det er nok en lidt anden fortolkning af begrebet cross-platform. At man istedet for at benytte sig af de dertil indrettede faciliteter på de platforme man kører på, genopfinder hjulet og laver sig egen platform, mener jeg ikke er elegant.

Jeg bruger fx et program, der hedder Ultramon (noget extension når man bruger flere skærme), som tilføjer ekstra knapper til alle vinduer. Men gæt hvilke programmer, der ikke får dem tilføjet... Chrome, bl.a. :-(

Claus Jørgensen

Chrome har et ret specielt look'n'feel, med tabs i programmets titlebar, hvilket altså ikke er nemt at dulikere, og klart værst at implementere på GNOME.

Derudover giver det ikke meget mening på f.eks. OSX, da de normalt merger titlebaren med top-baren på desktop.

Log ind eller Opret konto for at kommentere