(Bilde: Krasimira Nevenova / Alamy/All Over Press)

Gjør webapper mer uavhengige av nett

Chrome får støtte for Service Workers.

Den kanskje største styrken til webbaserte applikasjoner, det at de alltid er oppdaterte, er kanskje også den største svakheten. Webbaserte applikasjoner fungerer ofte svært dårlig uten nettilgang.

I høst skrev digi.no om en teknologi, Service Workers, som kan endre på dette. På det tidspunktet var ikke serviceworkers støttet av noen nettleser, men nå er det i ferd med å endre seg.

Den neste utgaven av Googles nettleser, Chrome 40, er nå tilgjengelig i en betaversjon. Hovednyheten i denne er nettopp støtte for Service Workers.

Service Workers er et programmeringsgrensesnitt som etter hvert kan bli en W3C-standard. Utviklere kan utnytte det til å avskjære nettverksforespørsler, enten ved hjelp av en programmert respons eller en tidligere respons som er cachet.

Forenklet presentasjon av livssyklusen til en service worker etter den første installasjonen.
Forenklet presentasjon av livssyklusen til en service worker etter den første installasjonen. Bilde: Matt Gaunt/HTML5 Rocks (CC BY 3.0)

I tillegg til å gi en bedre frakoblet brukeropplevelse av webbasert applikasjoner, skal utviklere også kunne utnytte Service Workers til å oppnå betydelige ytelsesforbedringer for webbaserte løsninger. Dette fordi brukergrensesnitt og andre ressurser med større pålitelighet enn i dag kan mellomlagres mellom hver gang websidene lastes. Dermed kan de lastes fra enhetens masselager eller minne istedenfor fra en server via internett. Videoen nedenfor viser forskjellen når man baser har tilgang til en Egde-forbindelse på 250 kilobit per sekund.

Bakgrunnsaktivitet

Google skriver at i motsetning til andre webteknologier, er levetiden til en service worker uavhengig av websiden som installerte den. Det betyr at den kan kjøres i bakgrunnen og utnyttes av kommende programmeringsgrensesnitt som Push og Background Sync, også etter at den opprinnelige websiden er stengt. Brukeren må dog gi sitt samtykke til dette for hvert enkelt nettsted.

I Chrome 40 er det også inkludert to andre programmeringsgrensesnitt som kun kan brukes inne i service workers. Det ene er Fetch API som lar service workers utføre nettverksforespørsler og returnere responsen til de sider som de kontrollerer. Cache API kan lagre innkommende responser og returnere dem direkte neste gang det den bes om den samme ressursen, uavhengig om ressursen har blitt kastet ut av den vanlige HTTP-cachen eller ikke.

Google understreker at alle disse programmeringsgrensesnittene er under aktiv utvikling. Dette betyr at de i alle fall ikke er egnet for offentlig tilgjengelige tjenester riktig ennå. Implementeringen i Chrome vil bli oppdatert etter hvert som spesifikasjonene utvikles.

Ifølge Google vil Service Workers også støttes av den kommende Opera 27. Mozilla er i gang med å utvikle slik støtte i Firefox, mens Microsoft offentlig har gitt sin tilslutning til teknologien. Det er mer uklart hva Apple mener.

En grundigere gjennomgang av Service Workers tilbys av nettstedet HTML5 Rocks.

Chrome 40 beta inkluderer også en rekke andre, mindre nyheter for webutviklere. Disse er knyttet til blant annet validering av webskjemaer og Content Security Policy.

    Les også:

Til toppen