Snart støttes asm.js av tre ulike nettlesere. Emscripten er et tilhørende verktøy for å konverte bytekode til asm.js.

Får støtte for lynrask JavaScript

Internet Explorer skal utstyres med asm.js-kompilator.

Microsoft kunngjorde i går at JavaScript-motoren til selskapets kommende nettlesere, Chakra, skal få støtte for en teknologi som kan åpne for raskere kjøring av webapplikasjoner.

Begrensninger

Selv om JavaScript-ytelsen til dagens nettlesere er på et helt annet nivå enn for noen år tilbake, er JavaScript-baserte applikasjoner sjelden helt på høyde med systemspesifikk, kompilert programvare når man snakker om ytelse. Ofte gjør ikke dette så mye, siden mye av det JavaScript brukes til er operasjoner som uansett tar så kort tid at forsinkelsen ikke er merkbar for mennesker. I andre tilfeller er den begrensede JavaScript-ytelsen en «showstopper». Samtidig har JavaScript en rekke fordeler, ikke minst det at språket støttes av alle nettlesere.

asm.js

For snart to år siden presenterte Mozilla en løsning som tar vare på fordelene ved JavaScript, men som i mange tilfeller vil bidra til betydelig bedre ytelse for større webapplikasjoner. Løsningen kalles for asm.js. Digi.no har tidligere omtalt asm.js i denne artikkelen, men kort fortalt dreier det seg om en begrenset utgave av JavaScript, uten den dynamiske atferden som kjennetegner vanlig JavaScript. Det gjør det mulig for nettleseren å kompilere asm.js-basert kode direkte til assembler, i stedet for at den først må sendes innom en JavaScript-tolker. For å utnytte dette må nettleseren har en innebygd kompilator for asm.js og kunne gjenkjenne asm.js-kode. Fordi asm.js-kode er JavaScript, vil den også fungere i nettlesere uten spesiell støtte for asm.js. Men der vil koden kjøres som ordinær JavaScript med ordinær JavaScript-ytelse.

 

Nettleserstøtte

Asm.js er foreløpig ingen ferdig spesifikasjon, men den støttes allerede av Firefox og til en viss grad også Chrome.

– Vi har i løpet av de siste månedene tatt en nærmere kikk på asm.js som teknologi, relaterte teknologier og hva de medføre for weben i det store og hele, skriver to medlemmer av Microsofts Chakra-team i blogginnlegget.

De legger til at asm.js i praksis vil bli utnyttet ved hjelp av transpilering av C/C++-kode, slik at denne kan kjøres på web-plattformen og utnytte teknologier som WebGL og Web Audio. Å kode asm.js for hånd er mulig, men anses som utfordrende.

Trinnene C/C++-kode må gjennom for å kunne kjøres som asm.js i nettleseren.
Trinnene C/C++-kode må gjennom for å kunne kjøres som asm.js i nettleseren. Bilde: John Resig
 

– Asm.js er det tydelig skritt mot det å åpne for «near-native» ytelse for web-plattformen, noe som er årsaken til at vi er begeistrett over å bringe det til Chakra i en kommende utgivelse, skriver Microsoft. Det er altså ikke gitt at asm.js-støtten vil være klar når Windows 10 lanseres. Men i likhet med operativsystemet forøvrig, vil Microsofts nettlesere bli oppdatert mye hyppigere i framtiden enn det som har vært tilfellet til nå.

Microsoft opplyser i blogginnlegget at selskapet har jobbet tett sammen med asm.js-eksperter i Mozillas Firefox-team.

 

 

Til toppen