Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

37
Universidad Manuela Beltrán UMB Virtual Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC) Jorge Rubiano Twitter: @ostjh https://github.com/Jorger/

description

Presentación realizada en el marco del El Foro Proyecta Innovación y desarrollo tecnológico (IDT) llevado a cabo los días 04 y 05 de Noviembre de 2014. El tema se centro en el uso de nuevas tecnologías web como WebSockets y WebRTC para el desarrollo de aplicaciones Móviles (WebApps e Híbridas)

Transcript of Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Page 1: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Universidad Manuela BeltránUMB Virtual

Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Jorge RubianoTwitter: @ostjh

https://github.com/Jorger/

Page 2: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

1. Tipos de aplicaciones Móviles.

2. Navegadores.3. Complementos/Plugins.4. WebSockets.5. WebRTC.6. Demostración.7. Casos de Uso.8. Preguntas.

Agenda

Page 3: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Tipos de aplicaciones Móviles

https://developer.salesforce.com/page/Mobile_SDK

Page 4: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Web App

http://cdn.sixrevisions.com/0274-02_facebook_native_mobile_web_app.jpg

Ventajas

● Se puede visualizar en cualquier dispositivo móvil, ya sea Android, iOS, Blackberry o Windows Phone.

● Al no ser una aplicación descargable desde las tiendas, no es necesario pasar ningún proceso de validación

● No es necesario que el usuario realice algún proceso de actualización , pues al ser una página web, siempre se accede a la versión más reciente.

Page 5: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Web App

1. https://github.com/slightlyoff/ServiceWorker

Desventajas

● Siempre será necesario contar con una conexión a internet

● Algunas funciones específicas del dispositivo no estarán disponibles.

● Funcionamiento sin conexión limitada (Service Worker¹)

Page 6: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

APP Nativas

http://mobile-app-options.appspot.com/img/diagram_native.png

Page 7: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

APP Nativas

https://wiki.smu.edu.sg/is101_2011/img_auth.php/e/e1/Objective_C_and_java.PNG

Ventajas

● Acceso completo a todas las funcionalidades del dispositivo.

● Mejor experiencia del usuario.● Visibilidad en las tiendas de

aplicaciones.

Desventajas

● Desarrollo complejo.● Mantenimiento complejo. ● Dificil despliegue multiplataforma.

Page 8: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Web App Nativas/APP Híbridas

http://mobile-app-options.appspot.com/img/diagram_hybrid.png

Page 9: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

http://mobile-app-options.appspot.com/img/diagram_hybrid.png

Ventajas.

● Están programadas con tecnologías web (HTML5/CSS3/Javascript)

● Corren localmente en el dispositivo, Tiene soporte offline.

● Acceso a APIS nativas del dispositivo.● Distribución en tiendas de aplicaciones

Desventajas.

● El rendimiento no es comparable a aplicaciones nativas (Cuando se accede a contenido online)

● No se cuenta con actualizaciones frecuentes (en el caso de almacenamiento en caché)

Web App Nativas/APP Híbridas

Page 10: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Navegadores

http://www.navegadoresdeinternet.net/

Page 11: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Complementos (Plugins)

http://clubajax.org/the-history-of-ria-technologies/

Page 12: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Complementos (Plugins)

Page 13: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

HTML5 + CSS3 + Javascript

http://www.w3.org/html/logo/

http://lignux.com/w3c-recomienda-el-uso-de-html5/

Page 15: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebSockets

https://www.websocket.org/

Page 16: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Flash Sockets - Java Sockets

http://www.neuroproductions.be/experiments/pushing-data-to-flash-using-binary-sockets/

Page 17: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Long Polling

Page 18: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Compatibilidad

http://caniuse.com/#feat=websockets

Page 20: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Usos WebSockets

● Juegos online multijugadores● Aplicaciones de chat● Actualización de información

deportiva/financiera● Actualizaciones en tiempo

real de las actividades de otros usuarios.

http://socket.io/demos/weplay/

WePlay

Page 21: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebRTC

http://www.webrtc.org/

Page 22: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebRTCEs una solución tecnológica que resultó de un esfuerzo conjunto entre la World Wide Web Consortium (W3C) y el Internet Engineering Task Force (IETF) por proporcionar comunicación en tiempo real punto a punto, a través del navegador.

Estandariza las tecnología desde la perspectiva de los navegadores y tecnologías web y definición de APIs para la utilización de WebRTC

Estandarización de protocolos y herramientas a nivel de transporte (SRTP, STUN/ICE/TURN) y codecs

WebRTC RTCWeb

Page 23: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebSockets/WebRTC

Page 24: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebRTC1. Adquirir medios.2. Comunicación Audio y

Vídeo3. Envío y recepción de

datos arbitrarios en conexiones punto a punto.

Page 25: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

WebRTC: Apis Javascript

1. getUserMedia2. RTCPeerConnection3. DataChannel

Libro WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web

Page 26: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Detección de Movimiento.

http://www.soundstep.com/blog/experiments/jsdetection/https://github.com/ReallyGood/js-motion-detection

Page 27: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Juegos

https://www.cubeslam.com/

Page 28: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Trabajo Colaborativo

Togetherjs

https://togetherjs.com/

http://codassium.com

Page 29: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

DataChannel

https://www.sharefest.me/

Page 31: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

DEMO

Chat Móvil: Mensajería Instantánea - Videollamadas)

http://virtualnet2-0.blogspot.com/2014/07/video-llamadas-version-movil.html

Page 32: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Chat Móvil

http://nodejs.org/

http://socket.io/

+

webRTC.iohttps://github.com/webRTC/webRTC.io

http://www.webrtc.org/

+

http://www.mongodb.org/

mongodbhttps://npmjs.org/package/mongodb

+

Page 35: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Google Hangouts HD + WebRTC

https://gigaom.com/2014/07/06/so-long-plug-ins-google-hangouts-works-with-webrtc/

Page 36: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Preguntas

Page 37: Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)

Gracias por la atenciónJorge Rubiano

@ostjh