Mais boas notícias do nosso velho amigo WebRTC.
Para ser mais preciso: três boas notícias e algumas pequenas mudanças na API.
RTCDataChannel para Chrome
O RTCDataChannel foi implementado no Chrome, e há uma ótima demonstração em simpl.info/dc.
Esta demonstração mostra a comunicação ponto a ponto de dados arbitrários, em menos de cem linhas de código. Para isso, é necessário ter o Chrome 25 ou superior, que agora significa Beta ou Canário.
O RTCDataChannel aproveita ao máximo os recursos integrados ao RTCPeerConnection, não menos importante, o uso se o framework ICE para passar por firewalls e NATs. Ele tem muitos aplicativos em potencial em que a baixa latência é fundamental: para jogos, aplicativos de área de trabalho remota, chat de texto em tempo real e transferência de arquivos.
Para saber mais sobre o RTCDataChannel, consulte Primeiros passos com o WebRTC.
Mudanças na API
Menos empolgante, mas ainda importante: a partir do Chrome 26, algumas propriedades da API RTCPeerConnection e MediaStream se tornaram métodos getter:
- O MediaStream agora tem o método
getAudioTracks()
em vez da propriedade audioTracks egetVideoTracks()
em vez devideoTracks
. - O RTCPeerConnection agora tem
getLocalStreams()
em vez delocalStreams
egetRemoteStreams()
em vez deremoteStreams
.
Para ter uma ideia do MediaStream em ação, veja a demonstração do getUserMedia
simpl.info/gum. A variável stream
está no escopo global: examine-a no console. Do mesmo modo para RTCPeerConnection em simpl.info/pc: os objetos RTCPeerConnection pc1
e pc2
estão no escopo global.
Google Chrome <=> Firefox
E caso você tenha perdido ele, o Chrome agora pode "falar" para o Firefox.
Você pode testar isso agora em webrtc.org/start, que tem instruções completas, links para o código-fonte e informações sobre as diferenças da API.
Um exemplo para aqueles do Mozilla e do Google que fizeram tudo dar certo.
Divirta-se com os códigos! Informe se você tiver bugs, seja comentando nesta postagem ou em bugs.chromium.org. Não se esqueça de que você pode acessar informações atualizadas de implementação no excelente chromestatus.com.