La forma convencional en la que se realiza la comunicación de voz y vídeo, y también en la que se transfieren los datos, se basa en el modelo cliente-servidor. Se necesita un servidor para dar servicio a ambos o a todos los dispositivos de comunicación y ponerlos en contacto. Por lo tanto, la comunicación tiene que pasar a través de una nube o de una máquina principal.
WebRTC cambia todo eso. Trae comunicación a algo que sucede directamente entre dos máquinas, sin importar cuán cerca o lejos estén. Además, funciona en los navegadores, sin necesidad de descargar e instalar nada.
Índice de contenidos
¿Quién está detrás de WebRTC?
Hay un equipo de gigantes detrás de este concepto que cambia el juego. Google, Mozilla y Opera ya están trabajando en su apoyo, mientras que Microsoft ha mostrado interés pero sigue siendo bastante pasivo, diciendo que entrará en la bola cuando la cosa se haya estandarizado. Hablando de estandarización, la IETF y WWWC están trabajando para definir y dar forma a una norma. Será estandarizado en una API (Application Programming Interface) que los desarrolladores pueden usar para producir herramientas de comunicación simples que pueden ser usadas en los navegadores.
¿Por qué WebRTC?
Lo que se pretende conseguir sólo ha sido posible hasta ahora en las grandes organizaciones mediante el uso de costosas tasas de licencia y costosos plugins propietarios. Con la API de WebRTC, cualquier persona con conocimientos básicos de programación podrá desarrollar herramientas robustas para la comunicación de voz y vídeo, y aplicaciones web de datos. Web RTC traerá varios beneficios, incluyendo:
- Los usuarios ya no tendrán que descargar e instalar aplicaciones propietarias. Sólo tienen que utilizar los navegadores compatibles con WebRTC.
- Se necesitará un ancho de banda más bajo, ya que la distancia recorrida durante la comunicación se reducirá mediante la eliminación de las conexiones al servidor y a la nube.
- Como resultado, habrá menos latencia y mayor calidad de audio y video.
- Los datos se canalizarán de manera más eficiente a través de la tecnología.
- Ya no habrá necesidad de plugins como Flash.
- Será más fácil desarrollar herramientas de comunicación. Se utilizarán elementos HTML5 nativos.
Obstáculos que enfrenta WebRTC
Hay una serie de cuestiones que los equipos que trabajan en WebRTC tienen que abordar a fin de obtener algo concluyente. Entre ellos se encuentran los siguientes:
- ¿Qué códec utilizar? Dado que los jugadores tienen intereses diferentes, todavía no se han puesto de acuerdo sobre si utilizar el H.264, VP8 u otros códecs.
- Dado que la tecnología se basará en navegadores, la compatibilidad de los navegadores será un problema. Sólo Chrome, Firefox y Opera lo soportan actualmente. La falta de navegadores con soporte de WebRTC será perjudicial.
- El estándar aún no está completamente definido, lo que plantea un problema en su adopción por parte de los actores clave.
Un ejemplo de una aplicación WebRTC
Un buen ejemplo de una aplicación WebRTC es el Cubo Slam de Google que le permite jugar al pong con su amigo remoto cara a cara, independientemente de la distancia entre ustedes. Los gráficos del juego se renderizan usando WebGL y la banda sonora si se entrega a través de audio web. Puedes jugar a lo mismo en cubeslam.com. Sin embargo, sólo puede reproducirlo en su ordenador, ya que, como en la actualidad, la versión móvil de Chrome todavía no es compatible con WebRTC. Estos juegos han sido diseñados tanto para promocionar Chrome como WebRTC. No se necesitan plugins adicionales para jugar al juego, ni siquiera Flash, siempre y cuando tengas la última versión de Chrome.
WebRTC para desarrolladores
WebRTC es un proyecto de código abierto. La API que se proporcionará para las comunicaciones en tiempo real (RTC) entre navegadores está en JavaScript simple.
Para una comprensión más profunda de WebRTC, vea este video.