Tenemos más buenas noticias de nuestro viejo amigo WebRTC.
Para ser precisos: tres buenas noticias y un par de cambios menores en la API.
RTCDataChannel para Chrome
RTCDataChannel se implementó en Chrome, y hay una pequeña demostración en simpl.info/dc.
En esta demostración, se muestra la comunicación punto a punto de datos arbitrarios, en menos de cien líneas de código. Para ello, necesitarás Chrome 25 o una versión posterior, lo que, en este momento, significa beta o Canary.
RTCDataChannel aprovecha al máximo las funciones integradas en RTCPeerConnection, en particular, el uso del framework ICE para atravesar firewalls y NAT, y tiene muchas aplicaciones potenciales en las que la baja latencia es fundamental: para juegos, aplicaciones de escritorio remoto, chat de texto en tiempo real y transferencia de archivos.
Para obtener más información sobre RTCDataChannel, consulta Cómo comenzar a usar WebRTC.
Cambios en la API
Menos emocionante, pero igualmente importante: a partir de Chrome 26, algunas propiedades de la API de RTCPeerConnection y MediaStream se convirtieron en métodos get:
- MediaStream ahora tiene el método
getAudioTracks()
en lugar de la propiedad audioTracks ygetVideoTracks()
en lugar devideoTracks
. - RTCPeerConnection ahora tiene
getLocalStreams()
en lugar delocalStreams
ygetRemoteStreams()
en lugar deremoteStreams
.
Para ver MediaStream en acción, consulta la demostración de getUserMedia
en simpl.info/gum. La variable stream
tiene un alcance global: examínala desde la consola. Del mismo modo, para RTCPeerConnection en simpl.info/pc, los objetos RTCPeerConnection pc1
y pc2
tienen alcance global.
Chrome <=> Firefox
Además, en caso de que te lo hayas perdido, Chrome ahora puede “hablar” con Firefox.
Puedes probarlo ahora en webrtc.org/start, que tiene instrucciones completas, vínculos al código fuente y información sobre las diferencias entre las APIs.
Un saludo a Mozilla y Google, que hicieron posible todo esto.
¡Feliz codificación! Además, si encuentras algún error, infórmanos al respecto. Para ello, puedes comentar esta publicación o visitar bugs.chromium.org. Y no olvides que puedes obtener información actualizada sobre la implementación en chromestatus.com.