Mam więcej dobrych wieści od naszego starego znajomego WebRTC.
Konkretnie: trzy dobre wieści i kilka drobnych zmian w interfejsie API.
RTCDataChannel dla Chrome
Parametr RTCDataChannel został zaimplementowany w Chrome. Na stronie simpl.info/dc znajdziesz świetną prezentację na ten temat.
Ta wersja demonstracyjna pokazuje komunikację peer-to-peer dowolnych danych w mniej niż 100 wierszach kodu. Aby to zrobić, musisz mieć Chrome w wersji 25 lub nowszej, co oznacza obecnie wersję beta lub Canary.
RTCDataChannel w pełni wykorzystuje wszystkie funkcje wbudowane w RTCPeerConnection, a także użycie platformy ICE do przełączenia się przez zapory sieciowe i serwery NAT. Ma też wiele potencjalnych aplikacji, w których kluczowe znaczenie ma niski czas oczekiwania: do gier, aplikacji pulpitu zdalnego, czatów tekstowych w czasie rzeczywistym i przesyłania plików.
Więcej informacji o RTCDataChannel znajdziesz w artykule Pierwsze kroki z WebRTC.
Zmiany w interfejsie API
Mniej ekscytujące, ale wciąż ważne: w Chrome 26 niektóre właściwości RTCPeerConnection i MediaStream API stały się metodami getter:
- MediaStream ma teraz metodę
getAudioTracks()
zamiast właściwości audioTracks orazgetVideoTracks()
zamiastvideoTracks
. - RTCPeerConnection ma teraz
getLocalStreams()
zamiastlocalStreams
orazgetRemoteStreams()
zamiastremoteStreams
.
Aby zobaczyć, jak działa MediaStream, obejrzyj demonstrację simpl.info/gum getUserMedia
. Zmienna stream
ma zakres globalny, więc możesz ją sprawdzić w konsoli. Podobnie w przypadku protokołu RTCPeerConnection (simpl.info/pc): obiekty RTCPeerConnection pc1
i pc2
są w zakresie globalnym.
Chrome <=> Firefox,
A jeśli to Ciebie ominęło ją, Chrome może teraz „mówić” do Firefoksa.
Możesz je wypróbować na stronie webrtc.org/start, która zawiera pełne instrukcje, linki do kodu źródłowego oraz informacje o różnicach w interfejsach API.
Zadowolenie z pracowników Mozilli i Google, którym udało się to osiągnąć.
Powodzenia w kodowaniu! O wszelkich błędach możesz nas informować, komentując tego posta lub odwiedzając stronę bugs.chromium.org. Pamiętaj, że aktualne informacje o implementacji znajdziesz na stronie chromestatus.com.