La forma convencional en que se realiza la comunicación de voz y video, y también en la transferencia de datos, se basa en el modelo cliente-servidor. Es necesario que haya un servidor para atender tanto a los dispositivos de comunicación como a todos y ponerlos en contacto. Por lo tanto, la comunicación tiene que pasar a través de una nube o una máquina principal.
WebRTC cambia todo eso. Lleva la 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.
¿Quién está detrás de WebRTC?
Hay un equipo de gigantes detrás de este concepto de cambio de juego. Google, Mozilla y Opera ya están trabajando para apoyarlo, mientras que Microsoft ha mostrado interés pero sigue siendo bastante pasivo, y dice que entrará en la pelota cuando la cosa se haya estandarizado. Hablando de estandarización, el IETF y WWWC están trabajando para definirlo y convertirlo en un estándar. Se estandarizará en una API (Interfaz de programación de aplicaciones) que los desarrolladores pueden usar para crear herramientas de comunicación simples que se pueden usar en los navegadores.
¿Por qué WebRTC?
Lo que está tratando de lograr ha sido posible hasta ahora solo en grandes organizaciones mediante el uso de costosos derechos de licencia y costosos complementos 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 video, y aplicaciones web de datos. Web RTC traerá alrededor de varios beneficios, incluyendo:
- Los usuarios ya no tendrán que descargar e instalar aplicaciones propietarias. Solo tienen que usar sus navegadores compatibles con WebRTC.
- Se requerirá un ancho de banda inferior ya que la distancia recorrida durante la comunicación se reducirá mediante la eliminación de las conexiones de servidor y de nube.
- Como resultado, habrá menos latencia y mayor calidad de audio y video.
- Los datos serán canalizados de manera más eficiente a través de la tecnología.
- Ya no habrá necesidad de complementos como Flash.
- Será más fácil desarrollar herramientas para la comunicación. Se utilizarán elementos nativos de HTML5.
Obstáculos a los que se enfrenta WebRTC
Hay una serie de problemas que los equipos que trabajan en WebRTC tienen que abordar para obtener algo concluyente. Entre ellos se encuentran los siguientes:
- ¿Qué codec usar? Dado que los jugadores tienen intereses diferentes, aún no han acordado si utilizar el H.264, VP8 u otros códecs.
- Dado que la tecnología se basará en los navegadores, la compatibilidad del navegador será un problema. Solo 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 está planteando 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 Cube Slam de Google, que te permite jugar al pong con tu amigo remoto cara a cara, independientemente de la distancia entre ti. Los gráficos del juego se representan utilizando WebGL y la banda sonora si se entregan a través de audio web. Puedes jugar lo mismo en cubeslam.com. Sin embargo, solo puede reproducirlo en su computadora ya que, como en la actualidad, la versión móvil de Chrome todavía no es compatible con WebRTC. Tales juegos han sido diseñados tanto para promover Chrome como para WebRTC. No se requieren complementos adicionales para jugar el juego, ni siquiera Flash, siempre que tenga 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 los navegadores está en JavaScript simple.
Para una comprensión más profunda de WebRTC, mire este video.