Altre buone notizie dal nostro vecchio amico WebRTC.
Per essere precisi: tre buone notizie e un paio di modifiche minori all'API.
RTCDataChannel per Chrome
RTCDataChannel è stato implementato in Chrome ed è disponibile una piccola demo interessante all'indirizzo simpl.info/dc.
Questa demo mostra la comunicazione peer-to-peer di dati arbitrari in meno di cento righe di codice. Per farlo, devi avere Chrome 25 o versioni successive, ovvero beta o Canary.
RTCDataChannel sfrutta al meglio le funzionalità integrate in RTCPeerConnection, in particolare l'utilizzo del framework ICE per superare firewall e NAT, e ha molte potenziali applicazioni in cui la bassa latenza è fondamentale: per giochi, applicazioni desktop remote, chat di testo in tempo reale e trasferimento di file.
Per ulteriori informazioni su RTCDataChannel, consulta la Guida introduttiva a WebRTC.
Modifiche all'API
Meno entusiasmante, ma comunque importante: a partire da Chrome 26, alcune proprietà dell'API RTCPeerConnection e MediaStream sono diventate metodi getter:
- MediaStream ora ha il metodo
getAudioTracks()
anziché la proprietà audioTracks egetVideoTracks()
anzichévideoTracks
. - RTCPeerConnection ora ha
getLocalStreams()
anzichélocalStreams
egetRemoteStreams()
anzichéremoteStreams
.
Per avere un'idea di come funziona MediaStream, dai un'occhiata alla demo getUserMedia
simpl.info/gum. La variabile stream
è di ambito globale: esaminala dalla console. Analogamente per RTCPeerConnection all'indirizzo simpl.info/pc: gli oggetti RTCPeerConnection pc1
e pc2
sono a livello globale.
Chrome <=> Firefox
Inoltre, se per caso non l'hai notato, ora Chrome può "parlare" con Firefox.
Puoi provare subito questa funzionalità all'indirizzo webrtc.org/start, dove sono disponibili istruzioni complete, link al codice sorgente e informazioni sulle differenze tra le API.
Un ringraziamento a chi ha reso possibile tutto questo in Mozilla e Google.
Buona programmazione! Inoltre, segnalaci eventuali bug commentando questo post o visitando la pagina bugs.chromium.org. E non dimenticare che puoi sempre ottenere informazioni aggiornate sull'implementazione dal sito eccellente chromestatus.com.