Diseño de aplicaciones web e integración de productos audiovisuales multimedia interactivos en aplicaciones web
Diseñar aplicaciones WEB e integrar productos audiovisuales multimedia interactivos en dichas aplicaciones.
Programa
- 01HTML, CSS, JavaScript para aplicaciones multimedia interactivas80 h
Introducción al desarrollo en HTML5, CSS y JavaScript multimedia
- Evolución de HTML, CSS y JavaScript en el desarrollo multimedia
- Principales características y ventajas de HTML5 para multimedia
- Integración de multimedia con HTML, CSS y JavaScript
Identificación de los elementos básicos de HTML, CSS
- Etiquetas HTML más utilizadas en el desarrollo multimedia
- Propiedades CSS esenciales para estilos multimedia
- Uso de selectores para manipular elementos específicos
Empleo de estructura HTML
- Organización adecuada de una página HTML para contenido multimedia
- Uso de encabezados, párrafos, listas y otros elementos multimedia
- Etiquetas semánticas para mejorar la accesibilidad
Uso de estructura CSS
- Organización y jerarquía de estilos CSS para proyectos multimedia
- Utilización de clases y IDs para aplicar estilos específicos
- Creación de reglas CSS reutilizables para elementos multimedia
Manejo de herencia CSS
- Entendimiento de cómo se heredan los estilos en cascada
- Manejo de la herencia para optimizar el mantenimiento de estilos
- Resolución de conflictos en la cascada de estilos
Utilización de estructura HTML/CSS para multipantalla y objetos multimedia
- Diseño responsive: creación de diseños adaptables a diferentes dispositivos
- Uso de media queries para estilos condicionales según el tamaño de pantalla
- Integración de elementos multimedia y su comportamiento en diferentes resoluciones
Empleo de JavaScript: sentencia, expresión, variable, función, objeto y DOM
- Conceptos básicos de JavaScript: variables, funciones y objetos
- Manipulación del DOM para interactuar con los elementos HTML
- Implementación de eventos y su uso en aplicaciones multimedia
Uso de booleano, if/else, string, número, DOM, eventos e interacción
- Uso de estructuras condicionales para lógica en aplicaciones multimedia
- Manipulación de cadenas de texto y números en proyectos multimedia
- Implementación de interacción basada en eventos del usuario
Utilización de bucles. Arrays. Funciones como objetos. Ámbitos. Cierres. Jquery
- Utilización de bucles y arrays para operar con conjuntos de datos
- Implementación de funciones como objetos y su aplicabilidad en proyectos multimedia
- Introducción a jQuery y su papel en la simplificación del código multimedia
Empleo de jquery UI. Interacción con usuario. Bootstrap. Diseño adaptativo
- Uso de jQuery UI para añadir interacción avanzada en aplicaciones multimedia
- Integración de bootstrap para agilizar el diseño y desarrollo adaptativo
- Creación de una experiencia de usuario óptima en diferentes dispositivos
Profundización en arrays, objetos, propiedades, métodos, tipos
- Exploración avanzada de arrays y objetos en proyectos multimedia
- Creación de métodos personalizados para objetos multimedia complejos
- Uso de tipos de datos especiales en situaciones específicas
Utilización de localstorage, iframes, origin policy y JSON
- Uso de LocalStorage para almacenar datos en aplicaciones multimedia
- Integración de iframes para la inclusión de contenido externo
- Resolución de problemas de política de origen y manipulación de datos JSON
Introducción a gráficos y animaciones svg. Geolocalización
- Creación de gráficos vectoriales escalables con SVG
- Implementación de animaciones SVG para mejorar la interacción
- Integración de la geolocalización en aplicaciones multimedia
Empaquetado de aplicaciones web para Android, iOS o firefox os
- Metodología para reempaquetar aplicaciones multimedia
- Adaptación de la aplicación web para su distribución en diferentes plataformas
- Consideraciones de seguridad y optimización en el empaquetado
Optimización de las aplicaciones multimedia
- Identificación y resolución de problemas de rendimiento en aplicaciones multimedia
- Compresión y optimización de recursos multimedia para una carga más rápida
- Prácticas recomendadas para mejorar la eficiencia y usabilidad de las aplicaciones
- 02Bases de datos relacionales60 h
Creación de bases de datos relacionales
- Sistemas gestores de bases de datos
- Diseño y estructura de una base de datos
- Sentencias SQL
- Tipos de datos
- Clave primaria y claves foráneas
- Diagramas entidad-relación
- Importar y exportar datos a una tabla
- Disparadores y reglas
Implementación de MySQL
- Administración MySQL: administración gráfica
- Gestión de usuarios y privilegios
- Protección de acceso a datos
- Conexiones seguras SSL
- Integración con aplicaciones externas
- Monitorización y optimización
- Mantenimiento
- Replicación
Empleo de PostgreSql
- Replicación
- Administración PostgreSQL: administración gráfica
- Gestión de usuarios y privilegios
- Extendiendo el SQL
- Sistema de tipos de PostgreSQL
- Lenguaje de procedimientos PL/pgSQL
- Ventajas de usar PL/pgSQL
- Consejos para desarrollo con PL/pgSQL
- 03Desarrollo de aplicaciones web con frameworks40 h
Introducción, instalación y estructura de aplicación
- Conceptos básicos de desarrollo con frameworks web
- Proceso de instalación y configuración del framework elegido
- Estructura de una aplicación web utilizando el framework
Gestión de artisa CLI, composer, librerías y dependencias
- Uso del artisan CLI para tareas de desarrollo y generación de código
- Gestión de dependencias y librerías externas con composer
- Integración de librerías adicionales en el proyecto
Uso de routing, providers, facades y contracts
- Configuración de rutas para manejar peticiones HTTP
- Utilización de providers para extender funcionalidades del framework
- Empleo de facades y contracts para acceder a componentes del framework
Aplicación de controllers, models y generadores
- Creación y gestión de controllers para manejar la lógica de la aplicación
- Uso de models para interactuar con la base de datos y gestionar los datos
- Generación de recursos y código mediante herramientas de línea de comandos
Empleo de requests, responses, inputs, helpers y events
- Manipulación de peticiones y respuestas HTTP en la aplicación
- Tratamiento de inputs y datos recibidos en las peticiones
- Utilización de helpers y events para mejorar la organización y funcionalidad
Uso de ORM eloquent I y query Builder
- Introducción al ORM eloquent y su papel en el manejo de bases de datos
- Consultas a la base de datos utilizando query Builder
- Relaciones entre tablas y operaciones avanzadas con eloquent
Empleo de ORM eloquent II y scheme Builder
- Uso de eloquent para realizar consultas y operaciones más complejas
- Creación y manipulación de tablas con el scheme Builder
- Migraciones y seeding para gestionar la estructura de la base de datos
Utilización de templates con blade y elixir
- Creación de plantillas con blade, el motor de plantillas del framework
- Uso de elixir para compilar y gestionar recursos front-end
- Implementación de layouts y vistas reutilizables en la aplicación
Introducción a formulario, mail y sesiones
- Validación y procesamiento de formularios en la aplicación
- Envío de correos electrónicos utilizando las funcionalidades de mail
- Manejo de sesiones para mantener estados y datos en la aplicación
Ejecución de seguridad, billing, idiomas, validaciones y buenas prácticas
- Implementación de medidas de seguridad para proteger la aplicación
- Integración de pasarelas de pago para funcionalidades de facturación
- Adición de soporte para múltiples idiomas y validaciones de datos
- Buenas prácticas de desarrollo para asegurar la calidad y mantenibilidad del código
- 04Web services restful30 h
Creación de un entorno de desarrollo
- Configuración del entorno de desarrollo (IDE, editores de texto, etc.)
- Instalación y configuración de node.js y npm
- Utilización de herramientas como postman para probar y depurar servicios web
Tratamiento de distintos tipos de peticiones HTTP
- Entender los diferentes métodos HTTP: GET, POST, PUT, DELETE, etc
- Manipulación de parámetros en las peticiones HTTP (query params, body, headers)
- Manejo de respuestas y códigos de estado HTTP adecuados
Modularización del código en node.js
- Estructura y organización de proyectos en node.js
- Creación de módulos y paquetes reutilizables
- Implementación de buenas prácticas para mantener un código limpio y mantenible
Aplicación de tests unitarios de lado del servidor con sinon.js
- Importancia de realizar pruebas unitarias en el desarrollo de servicios web
- Configuración de entorno de pruebas con sinon.js
- Creación de tests unitarios para funciones y módulos en node.js
Diseño de la API
- Definición de los endpoints de la API RESTful
- Estandarización de nombres de rutas y recursos
- Consideraciones sobre versionado y compatibilidad de la API
Creación de proyecto express node.js
- Creación y configuración de un proyecto express.js
- Uso de middleware para manejar solicitudes y respuestas
- Integración de herramientas y bibliotecas útiles en el proyecto
Empleo de contacts.js
- Diseño y creación del módulo para gestionar contactos en la API
- Definición de funciones para crear, leer, actualizar y eliminar contactos
- Integración del módulo con la lógica de negocio de la aplicación
Implementación de rutas
- Creación de rutas para diferentes endpoints de la API
- Uso de los métodos HTTP adecuados para cada ruta
- Validación de datos de entrada en las rutas
Integración de las rutas a nuestra aplicación
- Integración de las rutas creadas en el paso anterior en la aplicación express
- Asociación de las rutas con las funciones del módulo contacts.js
- Prueba y depuración de las rutas para garantizar su correcto funcionamiento
- 05UI (interfaz de usuario)40 h
Empleo de canvas
- Introducción a la etiqueta canvas en HTML5 para gráficos interactivos
- Uso de JavaScript para dibujar y animar en el lienzo canvas
- Aplicación de transformaciones y efectos en elementos del canvas
Desarrollo de UI: text, image, raw image
- Creación de elementos de texto en la interfaz de usuario
- Incorporación de imágenes estáticas en la UI y su manipulación
- Uso de imágenes sin procesar (raw image) para aplicar efectos visuales
Implementación de UI: button, tongle, slider, scrollbar, dropdown, input field
- Diseño e implementación de botones interactivos en la interfaz
- Creación de interruptores (toggle), deslizadores (sliders) y barras de desplazamiento (scrollbars)
- Incorporación de menús desplegables (dropdowns) y campos de entrada de texto (input field)
Diseño UI: panel, scroll view. (A1: cambio de escenas)
- Creación y personalización de paneles para agrupar elementos en la UI
- Implementación de vistas de desplazamiento (scroll views) para contenido extenso
- Uso de UI para facilitar el cambio de escenas en la aplicación
Ejecución de EventSystem. (A2: controlar video). Event triggers
- Introducción al sistema de eventos para la interacción con la UI
- Control de eventos para manipular videos y su reproducción
- Uso de event triggers para activar acciones en respuesta a eventos específicos
Detección y manipulación de objetos mediante Raycast
- Entendimiento del Raycast para detectar colisiones y clics en objetos
- Utilización de Raycast para seleccionar y manipular objetos en la escena
- Implementación de interacciones basadas en la detección de Raycast
- 06Scripting C#80 h
Configuración de un script en C#: clase y librerías
- Composición básica de un script en C#
- Importancia y uso de las librerías en el desarrollo de scripts
- Organización de clases y métodos en un script
Empleo de variables: públicas, privadas, locales y globales
- Diferentes tipos de variables y su alcance en C#
- Uso de variables públicas para comunicación entre scripts y objetos
- Implementación de variables locales y globales en distintos contextos
Uso de arrays
- Creación y manejo de arrays en C#
- Utilización de arrays para almacenar y manipular conjuntos de datos
- Operaciones comunes con arrays, como ordenación y búsqueda
Implementación de sentencias de control: if, else if, while, do, for, switch
- Aplicación de estructuras de control condicionales (if, else if, switch)
- Uso de bucles (while, do, for) para iteraciones y ejecuciones repetidas
- Elección adecuada de las sentencias de control según el escenario
Construcción de una clase
- Creación de clases personalizadas en C#
- Definición de propiedades y métodos dentro de una clase
- Instanciación y uso de objetos basados en la clase creada
Gestión de clase input
- Acceso y uso de la clase input para obtener entradas del usuario
- Detección de eventos de teclado y ratón para interacción en el juego
- Implementación de controles personalizados usando la clase input
Gestión de clase time
- Uso de la clase time para medir el tiempo en el juego
- Creación de eventos y acciones basadas en el tiempo transcurrido
- Control del flujo de ejecución mediante la clase time
Gestión de clase transform
- Manipulación y transformación de objetos en la escena utilizando la clase transform
- Acceso y modificación de posición, rotación y escala de objetos
- Uso de la clase transform para crear animaciones y efectos visuales
Gestión de clase rigidbody y Rigidbody2D
- Integración de la clase rigidbody para la física 3D
- Uso de la clase Rigidbody2D para la física 2D
- Aplicación de fuerzas y colisiones en objetos con la clase rigidbody
Desarrollo de UI: text, image, raw image
- Implementación de elementos de texto (UI text) en la interfaz de usuario
- Visualización de imágenes y texturas (UI image, UI raw image) en la pantalla
- Personalización de la apariencia de los elementos de la interfaz de usuario
Diseño de UI: button, tongle, slider, scrollbar, dropdown, input field
- Uso de elementos interactivos como botones (UI button) y conmutadores (UI toggle)
- Control de valores numéricos con sliders (UI slider) y barras de desplazamiento (UI scrollbar)
- Creación de menús desplegables (UI dropdown) y campos de entrada de texto (UI input field)
Aplicación de UI: panel, scroll view. (A1: cambio de escenas)
- Organización de elementos UI en paneles (UI panel) para una mejor estructura visual
- Implementación de una función para cambiar de escena (A1) utilizando botones y eventos
- Creación de una vista desplazable (UI scroll view) para contenido extenso
Gestión de EventSystem. (A2: controlar video). Event triggers
- Configuración y uso del EventSystem para la gestión de eventos
- Control y reproducción de videos (A2) mediante eventos y event triggers
- Aplicación de event triggers para interacción de elementos UI
Detección y manipulación de objetos mediante Raycast
- Utilización de Raycast para detectar colisiones y clics sobre objetos
- Implementación de una función para interactuar con objetos mediante Raycast
- Aplicación de Raycast para mejorar la jugabilidad y la interacción en el juego
Introducción a clase Raycast
- Exploración de los métodos y propiedades de la clase Raycast
- Uso de la clase Raycast para realizar trazados de rayos y detección de colisiones
- Creación de acciones y eventos basados en los resultados de Raycast
Aplicación de clase physics y Physics2D
- Integración de la clase physics para la simulación de física 3D
- Uso de la clase Physics2D para la simulación de física 2D
- Implementación de comportamientos físicos realistas en objetos del juego
Detección de colisiones
- Implementación de detección de colisiones en C#
- Uso de colisionadores y triggers para interactuar con otros objetos
- Gestión de eventos y acciones basadas en colisiones entre objetos
Serialización
- Concepto y utilidad de la serialización en C#
- Implementación de la serialización para guardar y cargar datos del juego
- Uso de la serialización para crear sistemas de guardado y carga de partidas
- 07Conexiones a fuentes externas (JSON)20 h
Fundamentos del lenguaje JSON
- Historia y propósito del formato JSON (JavaScript object notation)
- Sintaxis básica: objetos, arrays, valores y pares clave-valor
- Ventajas y casos de uso de JSON en conexiones a fuentes externas
Comparativa con el lenguaje XML
- Diferencias fundamentales entre JSON y XML en estructura y uso
- Ventajas y desventajas de JSON frente a XML en conexiones a fuentes externas
- Criterios para elegir entre JSON y XML en diferentes escenarios
Estudio de las partes de un objeto JSON
- Identificación y comprensión de los componentes de un objeto JSON
- Uso adecuado de las llaves (keys) y los valores asociados en objetos
- Ejemplos prácticos de objetos JSON y su estructura
Análisis de los tipos de valores
- Reconocimiento de los diferentes tipos de datos que pueden almacenarse en JSON
- Valores primitivos: cadenas, números, booleanos y valores nulos
- Valores complejos: objetos y arrays como valores en JSON
Utilización de arrays
- Definición y creación de arrays en el formato JSON
- Uso de índices y acceso a elementos en arrays JSON
- Arrays multidimensionales y su aplicación en conexiones a fuentes externas
Lectura y escritura de JsonUtility
- Introducción a JsonUtility en lenguajes de programación compatibles
- Procesamiento de datos JSON: lectura y deserialización en objetos del lenguaje
- Serialización de objetos a formato JSON con JsonUtility
Serialización con JSON
- Implementación de serialización manual de datos a formato JSON
- Conversión de objetos y estructuras de datos a su representación JSON
- Consideraciones sobre rendimiento y seguridad al serializar datos sensibles
- 08Realidad aumentada40 h
Funcionamiento y fundamento de las librerías de vuforia
- Introducción a la realidad aumentada y su aplicación en proyectos con vuforia
- Características principales de vuforia y cómo se integra con diferentes plataformas
- Explicación de los conceptos clave, como marcadores, reconocimiento y seguimiento
Creación de marcas
- Definición de marcadores y su importancia en el desarrollo de aplicaciones de realidad aumentada
- Métodos para generar y diseñar marcadores personalizados
- Estrategias para optimizar la detección y reconocimiento de marcas en diferentes condiciones
Interactuación con la información
- Cómo superponer información digital en el mundo real a través de la realidad aumentada
- Creación de elementos interactivos como botones, ventanas emergentes y objetos 3D
- Implementación de acciones y comportamientos al interactuar con los elementos virtuales
Empleo de lector de códigos QR
- Funcionamiento y utilidad de los códigos QR en aplicaciones de realidad aumentada
- Integración de un lector de códigos QR en la aplicación de realidad aumentada
- Uso de códigos QR para acceder a contenido adicional o desencadenar eventos específicos
- 09Realidad virtual60 h
Desarrollo de juegos de inmersión en 360
- Concepto de juegos de inmersión en 360 y su impacto en la experiencia del usuario
- Técnicas para la creación de entornos y escenas inmersivas en 360 grados
- Implementación de interacción y mecánicas de juego adaptadas a la realidad virtual
Implementación de Unity UI en RV
- Integración del Unity UI para el diseño de interfaces de usuario en entornos de realidad virtual
- Creación de menús y elementos interactivos utilizando las herramientas del Unity UI
- Optimización de la interfaz para una navegación intuitiva y cómoda en la realidad virtual
Aplicación de IU espacial
- Diseño y ubicación de elementos de interfaz en un espacio tridimensional
- Uso de la geometría y perspectiva para lograr una IU espacial coherente y atractiva
- Consideraciones ergonómicas y de usabilidad para la IU espacial
Desarrollo del marco básico para interactuar con objetos en VR, incluyendo manejar la mirada y mirar hacia fuera
- Implementación de interacciones básicas como selección y activación mediante la mirada
- Uso de técnicas de "mirar hacia fuera" para interacción con elementos fuera del campo de visión
- Configuración de eventos y respuestas para la interacción con objetos en realidad virtual
Movimiento de la retícula, escalamiento, shaders, y reaccionar a las normales
- Manipulación de la retícula en entornos de realidad virtual para diferentes tipos de interacciones
- Aplicación de efectos visuales mediante shaders para mejorar la inmersión en el entorno
- Respuesta y reacción a las normales de los objetos para un comportamiento realista en las interacciones
Movimiento basado en la rotación de la cabeza
- Implementación de sistemas de movimiento basados en la rotación de la cabeza (head-based movement)
- Uso de técnicas como el movimiento parabólico o desplazamiento suave para evitar mareos en los usuarios
- Adaptación de la velocidad y aceleración del movimiento para una experiencia cómoda en RV
Utilización del touchpad, teclado y ratón con RV
- Integración de controles tradicionales (touchpad, teclado, ratón) para interacción en entornos de realidad virtual
- Configuración de los controles para navegar, seleccionar objetos y realizar acciones en la realidad virtual
- Mejoras y ajustes en la experiencia de usuario al utilizar controles no específicos para RV
- 10Optimización para móviles30 h
Aplicación de juegos de inmersión en 360º
- Introducción a los juegos de realidad virtual y 360º en dispositivos móviles
- Consideraciones especiales para la optimización de juegos de inmersión
- Técnicas para mejorar la experiencia y rendimiento en juegos de 360º
Estudio de dispositivos móviles y características mínimas actuales
- Análisis de las especificaciones técnicas comunes en dispositivos móviles
- Identificación de las características mínimas requeridas para un rendimiento óptimo
- Adaptación del juego a diferentes dispositivos móviles y resoluciones
Optimización de modelos
- Reducción de polígonos y simplificación de modelos para un mejor rendimiento
- Uso de LOD (niveles de detalle) para adaptar la calidad visual en tiempo real
- Estrategias para optimizar la animación y rigging de los modelos en juegos móviles
Optimización de texturas
- Técnicas de compresión de texturas para reducir el consumo de memoria
- Uso de atlas de texturas y técnicas de empaquetado para mejorar el rendimiento
- Selección adecuada de formatos de textura según la plataforma y dispositivo
Configuración de normal mapping
- Implementación del mapeo de normales para agregar detalles sin aumentar polígonos
- Consideraciones para la creación y uso eficiente de mapas de normales
- Impacto en el rendimiento y cómo equilibrar la calidad visual con la optimización
Aplicación de texturas preiluminadas
- Uso de texturas preiluminadas para mejorar la calidad visual en dispositivos móviles
- Técnicas de baking de iluminación para reducir la carga computacional
- Consideraciones en la implementación y optimización de texturas preiluminadas
Optimización de terrenos de Unity
- Uso de terrenos y heightmaps para la creación de escenarios detallados
- Reducción de la complejidad del terreno y técnicas de optimización
- Uso de técnicas de mezcla de texturas para mejorar la calidad visual y el rendimiento
Metodología práctica para un renderizado optimizado
- Uso de técnicas de sombreado y efectos visuales eficientes
- Estrategias para el culling (eliminación) de objetos no visibles
- Implementación de técnicas de post-procesado con mínimo impacto en el rendimiento
Optimización de un scripting y gameplay
- Programación eficiente y optimizada para mejorar la fluidez del gameplay
- Gestión de recursos y memoria para evitar problemas de rendimiento
- Optimización de algoritmos y scripts para un funcionamiento fluido en dispositivos móviles