UTVIKLING

Enklere asynkron koding med Chrome

Men også Microsoft tester ut ny nettleser-funksjonalitet.

Google Chrome har fått utvidet støtte for webteknologier hver sjette uke helt siden mai 2013. Chrome 39 blir intet unntak.
Google Chrome har fått utvidet støtte for webteknologier hver sjette uke helt siden mai 2013. Chrome 39 blir intet unntak.
Harald BrombachHarald BrombachNyhetsleder
13. okt. 2014 - 15:18

Google bygger inn støtte for nye webteknologier i nettleseren Chrome med et svært høyt tempo for tiden. Ikke siden Chrome 27, som kom i mai i fjor, har selskapet gitt ut en Chrome-utgave som ikke har inkludert utvidet støtte for webteknologier. Nå er betautgaven av Chrome 39 tilgjengelig, og også denne gir webutviklere en forsmak på kommende muligheter. Blant nyhetene er denne gang er teknikker som ifølge Google skal kunne gjøre utvikling av webapplikasjoner enklere og kraftigere.

Det som framstår som hovednyheten er støtte for JavaScript-funksjoner av typen Generators, som er en del av EcmaScript 6. Med Generators kan utviklere lage Iterators, en protokoll som definerer en standard måte å produsere verdier i en rekkefølge, som kan stoppes i kjøringen etter at de har utlevert en verdi, og deretter fortsette kjøringen når den får beskjed om dette.

Ifølge Google forenkler dette prosessen med å utvikle asynkron kode, inkludert ved å redusere avhengigheten av callback-funksjoner.

Chrome er dog ikke den første nettleseren som får støtte for Generators. Firefox har nemlig støtte Generators siden versjon 26 (versjon 32 er tilgjengelig nå). Ifølge Google er Apple i ferd med å utvikle støtte for Generators i Safari, mens Microsoft har sagt at slik støtte kommer. Opera bruker samme motor som Chrome. Det er først når samtlige av de fem store nettleserne har fått støtte for nye webteknologier, i både mobil- og desktop-utgavene, at teknologiene virkelig er klare for bruk.

En annen asynkron funksjonalitet som støttes av Chrome 30 beta er Beacon API-et. Dette gjør det mulig å sende data fra en webside til en webserver uten å måtte vente på et svar. Et eksempel på bruksområde er sending av analyse- eller diagnosedata rett før en bruker forlater en webside, altså ved hjelp av unload-hendelsen.

Også Beacon API støttes allerede av Firefox. Apple og Microsoft skal ikke ha sagt noe klart om de ønsker å støtte slik funksjonalitet.

Andre nyheter under skallet i Chrome 39 beta inkluderer avspillingskontroll for Web Animations, noe mer støtte for skjermer med høy punkttetthet, visse endringer i verdier knyttet til XMLHttpRequest, samt en endring i måten webapplikasjoner kan legges på hjemmeskjermen til Android-enheter.

Internet Explorer

Det er nå ganske nøyaktig et år siden Microsoft kom med Internet Explorer 11. I året som har gått har Microsoft i større grad enn tidligere inkludert mer enn bare feilfikser til nettleseren. Blant annet har Microsoft inkludert den litt omstridte støtten for mobilnettsteder som er tilpasset WebKit-baserte mobilnettlesere.

Nylig kom Microsoft med en testversjon av kommende Windows 10. Også denne inkluderer riktig Internet Explorer 11, men nettleseren er ikke identisk med den som er tilgjengelig for de eldre Windows-utgavene. Nettleseren inkluderer en hel del ny, eksperimentell funksjonalitet under skallet.

Dette inkluderer blant annet støtte for HTTP/2, en ny versjon av nettverksprotokollen som weben bygger på. HTTP/2 bygger på sin side på SPDY/2-protokollen. Hensikten med den nye protokollen er først og fremst å oppnå bedre ytelse, blant annet ved hjelp av multipleksing og komprimering. Protokollen er dessuten basert på binære data i stedet for tekstbaserte data.

En annen vesentlig nyhet er bedre JavaScript-ytelse på grunn av forbedringer i JavaScript-motoren Chakra. Dette skjer på flere områder, noe som blant annet skal gi raskere oppstart av webapplikasjoner, raskere kjøring av skriptene og ikke minst jevnere kjøring. Det sistnevnte skyldes forbedre garbage collection. Microsoft har publisert mange flere detaljer om disse forbedringene her.

Nytt er også måten Internet Explorer analyserer domenenavn på. Denne er nå endret slik at den bruker algoritmer og domenenavnene oppgitt på denne siden. Denne listen brukes også av Chrome, Firefox, Opera og mye annen programvare. Hensikten med endringen i IE er å oppnå bedre interoperabilitet.

Utviklerønsker

I forbindelse med utgivelsen av testversjonen av Windows 10, kunngjorde Microsoft også tilgjengeligheten av Internet Explorer Platform Suggestion Box. Dette er en tjeneste hvor utviklere kan foreslå og stemme fram endringer og ny funksjonalitet i Internet Explorer.

Endringen som så langt har fått flest stemmer, er et forslag om at Internet Explorer automatisk oppdateres til den nyeste utgaven som er tilgjengelig. Det er fortsatt mange som bruker flere år gamle utgaver av Internet Explorer, og brukere med Windows-utgaver som støtter den nyeste versjonen. For webutviklere betyr det flere nettlesere å ta hensyn til.

Forslaget på andre plass er at IE får støtte for JavaScript-funksjonen Object.observe(). Dette er en metode for asynkront å observere endringer i JavaScript-objekter. Funksjonen er en del av kommende EcmaScript 7, men støttes allerede av Chrome.

På tredje plass foreslås det støtte for Shadow DOM, som gjør det mulig med innkapsling av DOM-trær, slik at man kan unngå konflikter mellom klasse- og id-navn i CSS eller JavaScript-variabler, for eksempel på websider hvor det importeres eksternt innhold utvikleren ikke kan endre.

Forslaget på fjerde plass vil nok ikke bli fulgt opp av Microsoft med det første. Det foreslås at Internet Explorer tar i bruk Blink eller en annen åpen kildekode-basert renderingmotor, samt at Microsoft begynner å bidra med kode til denne. Opera Software har gjort dette, men sannsynligheten for at Microsoft gjør det samme, er nok svært liten.

Det femte mest populære forslaget er støtte for WebRTC, som blant annet åpner for videokonferanser i nettleseren. Norske Appear.in er et svært godt eksempel på dette. Microsoft kommer nok ikke til å støtte WebRTC slik teknologien er utformet i dag, men selskapet deltar i et samarbeid om å videreutvikle teknologien.

    Les også:

Les mer om:
Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.