Altre buone notizie dal nostro vecchio amico WebRTC.
Per essere precisi: tre buone notizie e un paio di modifiche di minore entità all'API.
RTCDataChannel per Chrome
RTCDataChannel è stato implementato in Chrome. È disponibile una piccola demo all'indirizzo simpl.info/dc.
Questa demo mostra la comunicazione peer-to-peer di dati arbitrari, in meno di cento righe di codice. A questo scopo, devi avere Chrome 25 o versioni successive, che a questo punto significa beta o Canary.
RTCDataChannel sfrutta al massimo le funzionalità integrate in RTCPeerConnection, non da ultimo l'utilizzo del framework ICE per superare firewall e NAT, e ha molte potenziali applicazioni per cui la bassa latenza è fondamentale: per i giochi, applicazioni desktop remoto, 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à RTCPeerConnection e API MediaStream sono diventate metodi getter:
- MediaStream ha ora il metodo
getAudioTracks()
anziché la proprietà audioTracks egetVideoTracks()
invece divideoTracks
. - RTCPeerConnection ora ha
getLocalStreams()
invece dilocalStreams
egetRemoteStreams()
invece diremoteStreams
.
Per vedere come funziona MediaStream, dai un'occhiata alla demo simpl.info/gum getUserMedia
. La variabile stream
è in ambito globale: esaminala dalla console. Allo stesso modo per RTCPeerConnection su simpl.info/pc: gli oggetti RTCPeerConnection pc1
e pc2
sono in ambito globale.
Chrome <=> Firefox
E nel caso che ti sia perso , Chrome ora può "parlare" con Firefox.
Puoi provarlo subito all'indirizzo webrtc.org/start, che offre istruzioni complete, link al codice sorgente e informazioni sulle differenze tra le API.
È un bel cappello a chi ha fatto tutto questo in Mozilla e Google.
Buona programmazione! Inoltre, segnalaci eventuali bug rispondendo a questo post o all'indirizzo bugs.chromium.org. Inoltre, non dimenticare che puoi sempre ottenere informazioni aggiornate sull'implementazione dal sito chromestatus.com.