Programación Multimedia y Dispositivos Móviles

Módulo de 6 horas semanales.

Contenidos:

  1. Análisis de tecnologías para aplicaciones en dispositivos móviles:
    • Limitaciones que plantea la ejecución de aplicaciones en los dispositivos móviles:
      desconexión, seguridad, memoria, consumo batería, almacenamiento.
    • Tecnologías disponibles: dominante/emergente. Convergencia entre móviles y
      equipos de escritorio.
    • Entornos integrados de trabajo actuales.
    • Módulos para el desarrollo de aplicaciones móviles.
    • Emuladores.
    • Configuraciones. Tipos y características. Dispositivos soportados.
    • Perfiles. Características. Arquitectura y requerimientos. Dispositivos soportados.
    • Jerarquía de clases del perfil.
    • Modelo de estados de una aplicación para dispositivos móviles. Activo, pausa y
      destruido.
    • Ciclo de vida de una aplicación: descubrimiento, instalación, ejecución,
      actualización y borrado.
    • Modificación de aplicaciones existentes.
    • Utilización del entorno de ejecución del administrador de aplicaciones.
  2. Programación de aplicaciones para dispositivos móviles:
    • Herramientas y fases de construcción: Desarrollo del código, compilación,
      preverificación, empaquetado, ejecución y depuración.
    • Interfaces de usuario. Clases asociadas: Ventanas, menús, alertas, controles y
      otros.
    • Contexto gráfico. Imágenes.
    • Eventos del teclado.
    • Técnicas de animación y sonido.
    • Descubrimiento de servicios.
    • Bases de datos y almacenamiento.
    • Persistencia.
    • Modelo de hilos.
    • Comunicaciones: Clases asociadas. Tipos de conexiones.
    • Gestión de la comunicación inalámbrica: Búsqueda de dispositivos y
      establecimiento de la conexión. Cliente y servidor.
    • Envío y recepción de mensajes texto. Seguridad y permisos.
    • Envío y recepción de mensajería multimedia. Sincronización de contenido.
      Seguridad y permisos.
    • Manejo de conexiones HTTP y HTTPS.
  3. Utilización de librerías multimedia integradas:
    • Conceptos sobre aplicaciones multimedia.
    • Arquitectura del API utilizado.
    • Descripción, instalación y utilización de librerías de clases multimedia para
      conversión de formatos.
    • Fuentes de datos multimedia. Clases.
    • Datos basados en el tiempo: protocolo de transmisión en tiempo real RTP, control
      y monitorización de la transmisión y pruebas y documentación.
    • Clips de audio, secuencias MIDI, clips de vídeo, entre otros.
    • Procesamiento de objetos multimedia. Clases. Estados, métodos y eventos.
    • Reproducción de objetos multimedia. Clases. Estados, métodos y eventos.
  4. Análisis de motores de juegos:
    • Conceptos de animación.
    • Animación 2D y 3D.
    • Arquitectura del juego. Componentes.
    • Motores de juegos: Tipos y utilización. Ventajas de su utilización.
    • Áreas de especialización, librerías utilizadas y lenguajes de programación.
    • Componentes de un motor de juegos: Motor gráfico o de renderizado (2D/3D),
      grafo de escena, detector de colisiones, motor de físicas, motor de inteligencia
      artificial, motor de sonidos y gestión de redes.
    • Librerías que proporcionan las funciones básicas de un Motor 2D/3D.
    • APIs gráficos 3D.
    • Ventajas de la utilización de un motor de juegos.
    • Estudio de juegos existentes.
    • Aplicación de modificaciones sobre juegos existentes.
  5. Desarrollo de juegos 2D y 3D:
    • Entornos de desarrollo para juegos.
    • Motores comerciales y libres.
    • Integración del motor de juegos en entornos de desarrollo.
    • Conceptos avanzados de programación 3D: Sistemas de coordenadas, modelos
      3D, formas 3D y transformaciones. Renderización.
    • Fases de desarrollo:
    • Diseño: Modelos, escenarios, efectos visuales, edición de sonidos, creación
      de la historia, animación, texturización.
    • Producción con motores de juegos.
    • Post-producción: Optimización y pruebas.
    • Propiedades de los objetos: luz, texturas, reflejos, sombras.
    • Utilización de shaders. Tipos y funciones.
    • Aplicación de las funciones del motor gráfico. Renderización.
    • Aplicación de las funciones del grafo de escena. Tipos de nodos y su utilización.
    • Análisis de ejecución. Optimización del código.