WebRTC: demostración de RTCDataChannel, cambios en la API... y Chrome se comunica con Firefox

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:

  1. MediaStream ahora tiene el método getAudioTracks() en lugar de la propiedad audioTracks y getVideoTracks() en lugar de videoTracks.
  2. RTCPeerConnection ahora tiene getLocalStreams() en lugar de localStreams y getRemoteStreams() en lugar de remoteStreams.

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.