offerte prime day amazon

Google Chrome: Web Audio API e codice C/C++

Google Chrome: Web Audio API e codice C/C++

Nella nuova versione stabile di Chrome Google ha messo a disposizione le nuove API per gestire contenuti audio. Introdotta anche la tecnologia NaCl per l'utilizzo di codice C/C++ direttamente nel browser

di pubblicata il , alle 14:59 nel canale Programmi
Google
 

Con i frequenti rilasci di Google Chrome e di Firefox abbiamo perso l'abitudine di seguire costantemente queste novità, ma nel caso dell'ultima release stabile di Chrome 14 riteniamo sia importante un minimo di approfondimento.

Google ha reso disponibile Chrome 14 nei giorni scorsi e come i lettori più attenti sapranno questa versione integra la tecnologia NaCl, che con la chimica non ha nulla in comune. NaCl sta per Native Client indica la possibilità di eseguire codice C/C++ all'interno del browser stesso.

Come è facile immaginare questa nuova opportunità risulta interessante per gli sviluppatori, infatti molte applicazioni scritte in C/C++ potranno essere utilizzate in modo più o meno rapido direttamente all'interno del browser. Dal punto di vista della sicurezza Google ha già dato ampie rassicurazioni: il codice verrà eseguito all'interno di una sandbox che dovrebbe offrire le sufficienti garanzie, anche se da alcuni competitor di Chrome sono già giunte pesanti critiche.

La scelta di Google lascia perplessi perché si tratta di non perseguire la strada degli standard riconosciuti, e il riferimento a HTML5 è scontato. NaCl va probabilmente interpretato come una possibilità di riutilizzare codice e applicazioni preesistenti, mentre per tutto ciò che è nuovo e da creare la scelta migliore è da ricercare in altre soluzioni standard. In Chrome 14 gli sviluppatori avranno a disposizione anche le nuove Web Audio API, utili per implementazioni in ambito multimediale.

Contestualmente al rilascio della nuova release stabile di Chrome 14 Google ha reso disponibile anche Chrome 15.0.874.15 in cui è stata aggiornata la versione del codec V8 e vengono segnalati miglioramenti al motore JavaScript. Da pochi giorni ha fatto la comparsa anche una nuova release di Chrome dedicata ai dispositivi Chromebook Acer AC700, Samsung Series 5 e Cr-48. Qui di seguito i link diretti a Hwfiles.it per il download di Chrome:

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione.
Leggi la Privacy Policy per maggiori informazioni sulla gestione dei dati personali

16 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
MaxArt20 Settembre 2011, 15:18 #1
La questione di NaCl, dal punto di vista del web, è un po' pericolosa perché, al contrario di quanto si prefissa il web (una resa uguale su ogni macchina) il codice da eseguire con NaCl dev'essere ottimizzato per ogni architettura.
Secondo buon senso, potrà essere usato solo da alcune applicazioni che abbiano bisogno di performance come l'aria.
Duncan20 Settembre 2011, 15:43 #2
Concordo, tra l'altro bisogna vedere questa sandbox quanto è sicura, con C++ si possono fare cose che magari riescono a superarla in modo più semplice rispetto alle tecnologie standard.

MaxArt in teoria usando un compilatore LLVM sarebbe possibile avere codice portabile tra diverse architetture, almeno in alcuni casi.
filippo197420 Settembre 2011, 15:54 #3
Originariamente inviato da: MaxArt
La questione di NaCl, dal punto di vista del web, è un po' pericolosa perché, al contrario di quanto si prefissa il web (una resa uguale su ogni macchina) il codice da eseguire con NaCl dev'essere ottimizzato per ogni architettura


Estremizzando questa giusta perplessità, mi domando: ma uno sviluppatore che intenda usare questa funzionalità dovrà fornire un eseguibile separato per ogni possibile architettura hardware/software su cui Chrome può essere utilizzato? L'accesso ai servizi del sistema operativo ospite avviene invocando direttamente le API del sistema operativo stesso, o tramite uno strato intermedio interno a Chrome?

Originariamente inviato da: MaxArt
Secondo buon senso, potrà essere usato solo da alcune applicazioni che abbiano bisogno di performance come l'aria


Sì ma se non si possono fare assunzioni a priori sull'hardware sottostante, il binario andrà compilato con ottimizzazioni e set di istruzioni in uso il più possibile conservativi, vanificando quindi l'ipotetico vantaggio di avere un eseguibile nativo. Mi vien da credere che in questo frangente, paradossalmente, un eseguibile gestito e compilato Just-In-Time come un .NET riesca a far meglio...

Ciao
Filippo
Duncan20 Settembre 2011, 16:18 #4
Quasi sicuramente per il primo punto hai ragione, al 99% essendo in una sandbox puoi accedere solo alle API esposte dal browser.

Per il secondo punto, secondo me, con LLVM si riesce ad ovviare al problema, ma bisogna vedere se è possibile usarlo.
Slayer8620 Settembre 2011, 16:22 #5
Ci ho fatto la tesi triennale su NaCL...
Un anno fa il compilatore (che è una versione modificata di gcc) era disponibile unicamente per x86, quindi non saprei come vengono gestite le differenti architetture, cmq presumo ci siano differenti esguibili comilati per diverse archtetture, poi verrà usato solo quello corretto.

Il compilato è codice macchina senza particolari ottimizzazioni, questo perchè deve essere facilmente decompilabile a runtime... difatti il codice viene decompilato da NaCL (che è un plug in disponibile per tutti i browser) durante il download per controllare che non ci siano chiamate a sistema non permesse o codice malevolo in generale.

Nacl dovrebbe servire per scrivere il core delle web application, ovvero la parte più vicina al sistema operativo, tutte chiamate di sistema sono cmq mediate da nacl stesso, difatti si ha quasi un codice interpretato, mentre l'interfaccia potrebbe essere tranquillamente fatta in html/javascript. Questo unirebbe l'immediatezza delle interfacce web con la potenza di calcolo delle applicazioni native... è chiaro che sorgono svariate problematiche prima su tutte la sicurezza, però qui google ha svolto un'ottimo lavoro... ora resta da vedere se si diffonderà come tecnologia!
Carlo Camusso20 Settembre 2011, 16:25 #6

Chrome - bug bloccante per portali in Flash

Nessuno ne parla ma lo sapete che nelle ultime versioni di Chrome è stato introdotto un bug che impedisce a tutte le applicazioni Flash che hanno un pannello di registrazione utente di scrivere un indirizzo email?
In pratica dopo aver digitato la chiocciola la tastiere di disabilita.
Il bug è stato per diverso tempo a carico di Adobe:
https://bugbase.adobe.com/index.cfm...&id=2966442
e ora è in mano a Chromium:
http://code.google.com/p/chromium/i...detail?id=97193

Qualche esempio:
http://www.BuzzMath.com/Home
http://www.fattura24.com (andate in login per aprire la sezione Flash)

In pratica con questo scherzetto tutte le applicazioni Adobe Flash e Adobe Flex che hanno un pannello di registrazione che richiede un indirizzo email sono bloccate se eseguite da Chrome.
Un danno per il mercato pazzesco.

Fate circolare.... altro che release stabile :-)
filippo197420 Settembre 2011, 16:31 #7
Originariamente inviato da: Slayer86
ora resta da vedere se si diffonderà come tecnologia!


Se si diffonderà, immagino che anche tutti gli altri browser dovranno adeguarsi, altrimenti un utente sarà obbligato ad avere Chrome per poter sfruttare eventuali applicazioni basate su questa tecnologia.

Così su due piedi, sono molto scettico sulla possibilità di NaCl di affermarsi anche solo come standard de-facto. In un mondo che sta spingendo verso il cloud e verso l'hosting remoto delle applicazioni (quindi sempre meno esecuzione in locale), l'iniziativa NaCl mi sembra un clamoroso ritorno indietro nel tempo...
Slayer8620 Settembre 2011, 16:37 #8
ehm... hai letto tutto quello che ho scritto?
google offre già nacl com plug in per firefox e ie!!!
Il_Baffo20 Settembre 2011, 16:43 #9
Qualunque cosa pur di dire addio a javascript...
Duncan20 Settembre 2011, 16:55 #10
beh intanto puoi usare coffescript

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^