Det er nå mer enn to år siden Google første gang introduserte Native Client (NaCl), en teknologi som skal gjøre det mulig å kjøre systemspesifikk, kompilert kode inne i nettlesere. Hensikten er å kunne oppnå langt høyere ytelse enn det som er mulig med dagens webstandarder, samtidig som at koden kjøres i en beskyttet sandkasse som skal gi svært kontrollert tilgang til operativsystemet.
NaCl støtter Windows, Mac og Linux og prosessorarkitekturene IA-32, x86_64 og ARM. Men man kan i utgangspunktet ikke kjøre samme kode på de ulike prosessorarkitekturene. En løsning som kalles Portable Native Client (PNaCl) skal løse dette, ved midlertidig å benytte format som nøytralt i forhold til instruksjonssettet til systemet prosessor. Oversettelsen til det systemspesifikke språket vil skje i nettleseren.
Google har dog ikke fått særlig støtte for de øvrige nettleserleverandørene, som er skeptiske til en dreining vekk fra webstandardene.
NaCl er fortsatt ikke ferdig, men følger med nettleseren Chrome – riktignok deaktivert som standard.
Nå tar utviklingen av NaCL en noe overraskende vending. Til CNET News forteller Linus Upson, teknisk sjef for Chrome, at Chrome etter hvert vil kjøres som en modul i NaCl, i stedet for omvendt. Men overgangen vil skje gradvis.
– Vi ønsker å flytte mer og mer av Chrome til Native Client. Etter hvert vil vi flytte hele nettleseren over i Native Client, sier Upson. Hensikten er å øke sikkerheten til nettleseren, ved å redusere skaden som kan skje ved at ondsinnede utnytter programmeringsfeil i nettleseren.
– De blir ekstremt vanskelig for en ondsinnet å kompromittere datamaskinen din, sier Upson.
I første omgang det er en del av nettleseren som skal gjøre til en NaCl-modul, nemlig PDF-leseren. Det vil ifølge Upson skje i år.
I tillegg til sandkassen, skal NaCl gi økt sikkerhet ved å den gransker maskinkodeinstruksjonene på forhånd for å sikre at de ikke utfører operasjoner som kan åpne for angrep, for eksempel skriving av data til harddisken eller å laste nye prosesser.
Ifølge Upson kan man kjøre ikke-klarert maskinkode og verifisere at den ikke gjør noe galt, uten at det skal gå noe særlig utover ytelsen, sammenlignet med vanlig, installert programvare. Google har tidligere oppgitt 97 prosent ytelse. Men det gjelder trolig ikke de PNaCl.
Ifølge CNET News planlegger Google at NaCl skal kunne brukes til dekoding av video, kryptering av bedriftsdata og å utføre beregningene til fysikkmotorene i dataspill. Senere skal teknologien også støtte 3D-grafikk.
NaCl-programmene kan lages i C, C++. Fortran, Objective C eller andre språk som genererer objektkode.
Ifølge The Register er Google i ferd med å bygge en interaktiv NaCl-debugger som skal kunne integreres med ulike IDE-er (Integrated Development Environment).
– Vi starter med Visual Studio fordi en mengde klientprogrammer allerede blir bygget der, sa Google-tekniker David Springer under en seanse i forbindelse med Google I/O-konferansen i forrige uke. Dette skal gjøre det relativt enkelt å flytte eksisterende applikasjoner over i nettleseren.
Senere kommer Google til å integrere debuggeren med blant annet Eclipse.