DESARROLLO DE APLICACIONES AVANZADAS
GRADO EN INGENIERÍA INFORMÁTICA
Curso 2026/2027
1. Datos de la asignatura
(Fecha última modificación: 16-06-26 9:57)- Código
- 101136
- Plan
- ECTS
- 6.00
- Carácter
- OPTATIVA
- Curso
- 4
- Periodicidad
- Primer Semestre
- Idioma
- ESPAÑOL
- Área
- LENGUAJES Y SISTEMAS INFORMÁTICOS
- Departamento
- Informática y Automática
- Plataforma Virtual
Datos del profesorado
- Coordinador/a
- André Filipe Sales Mendes
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Lenguajes y Sistemas Informáticos
- Despacho
- D4104
- Horario de tutorías
- Solicitar por correo electrónico.
- URL Web
- https://produccioncientifica.usal.es/investigadores/193138/detalle
- andremendes@usal.es
- Teléfono
- 923294500 Ext. 6086
- Coordinador/a
- David Cruz García
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ciencia de la Computación e Inteligencia Artific.
- Despacho
- P1145
- Horario de tutorías
- Solicitar por correo electrónico.
- URL Web
- https://produccioncientifica.usal.es/investigadores/328785/detalle
- david.cruz.garciaa@usal.es
- Teléfono
- -
- Coordinador/a
- Sergio García González
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ciencia de la Computación e Inteligencia Artific.
- Despacho
- P1145
- Horario de tutorías
- Solicitar por correo electrónico.
- URL Web
- https://produccioncientifica.usal.es/investigadores/328212/detalle
- sergio.gg@usal.es
- Teléfono
- -
2. Recomendaciones previas
Se recomienda no cursar esta asignatura sin haber superado previamente Programación III e Interfaces Gráficas de Usuario, por cuanto el desarrollo de aplicaciones multiplataforma visto en esta asignatura se apoya directamente en los principios de la programación orientada a objetos, la organización modular del código, el diseño de interfaces interactivas, la gestión de eventos y la interacción usuario-aplicación. En particular, Programación III proporciona la base necesaria para comprender la estructura de aplicaciones basadas en objetos y componentes, mientras que Interfaces Gráficas de Usuario aporta los fundamentos necesarios para diseñar y desarrollar interfaces usables, adaptables y orientadas a la experiencia de usuario. No obstante, aunque con cierto esfuerzo es posible abordarla de manera independiente, será recomendable que el estudiante refuerce previamente estos conocimientos básicos para poder seguir adecuadamente el ritmo de la asignatura.
3. Objetivos
Tomando como base los conocimientos previos del alumno, propios de quien aborda una asignatura relacionada con el diseño de aplicaciones avanzadas, se pretende estudiar y poner en práctica los principios y técnicas propios del desarrollo de aplicaciones dotadas de interfaz gráfica de usuario, especialmente en el contexto de aplicaciones web modernas y multiplataforma. El alumno recibe la formación necesaria para comprender los procesos subyacentes en el desarrollo frontend actual y aplica concretamente esa formación para construir aplicaciones mediante tecnologías web, prestando atención a la creación de componentes, la gestión del estado, la navegación entre vistas y la interacción con servicios externos. Asimismo, se introducirán aspectos relacionados con el desarrollo de backends y servicios de apoyo a la aplicación, incluyendo el diseño y consumo de APIs, la autenticación, la persistencia de datos y la comunicación cliente-servidor. Como parte importante de la asignatura, se ponen de manifiesto los aspectos relacionados con la usabilidad, el diseño adaptable y la experiencia de usuario, teniendo en cuenta las posibilidades que aportan las tecnologías web actuales, como el acceso a Internet, el almacenamiento local, la integración con servicios externos y el despliegue en distintos dispositivos y plataformas. Estas posibilidades forman parte de un ecosistema amplio y en continua evolución, que se estudia con el objetivo de proporcionar al alumno una base sólida que le permita abordar posteriormente diferentes frameworks, librerías y entornos de desarrollo multiplataforma.
4. Competencias a adquirir | Resultados de Aprendizaje
Básicas / Generales | Conocimientos.
CB3, CB4, CB5
Específicas | Habilidades.
TI3, TI6, C02, C03, C05, C06
Transversales | Competencias.
CC1, CC6, CC7, CC8, CC14, CC16, CC17
5. Contenidos
Teoría.
Se trata de un estudio de los conceptos fundamentales del desarrollo de servicios web y aplicaciones web modernas y multiplataforma, abordando tanto la parte de interfaz de usuario como la comunicación con servicios backend. La relación de temas estudiados, que se abordarán desde un punto de vista teórico y práctico, es la siguiente:
- Introducción a los servicios web y al desarrollo de aplicaciones web y multiplataforma.
- Arquitectura de aplicaciones frontend y backend.
- Fundamentos de HTML, CSS y JavaScript aplicados al desarrollo de interfaces.
- Introducción a los frameworks frontend basados en componentes.
- Componentes, estado, eventos y reactividad.
- Enrutado y navegación entre vistas.
- Gestión de estado global.
- Consumo y diseño básico de APIs REST y nociones básicas de GraphQL.
- Autenticación, seguridad básica y persistencia de datos.
- Desarrollo multiplataforma mediante tecnologías web, PWA e Ionic/Capacitor.
- Despliegue, optimización y mantenimiento de aplicaciones.
Práctica.
Los temas mencionados anteriormente se ejercitan directamente mediante el desarrollo de aplicaciones web y multiplataforma empleando tecnologías web actuales. Desde el punto de vista de la práctica, los contenidos que se abordan son los siguientes:
- Construcción de interfaces web mediante HTML, CSS y JavaScript.
- Desarrollo de aplicaciones frontend basadas en componentes utilizando Vue.js.
- Implementación de navegación, formularios, eventos y gestión del estado en Vue.js.
- Consumo de APIs y comunicación con servicios backend.
- Incorporación de autenticación y persistencia de datos en aplicaciones.
- Desarrollo de una aplicación web o multiplataforma funcional con Vue.js.
- Despliegue básico y optimización de aplicaciones web.
6. Metodologías Docentes
Las actividades formativas que se proponen para esta materia son las siguientes:
Actividades presenciales:
- Lección magistral: exposición de contenidos teóricos, presentación de conceptos fundamentales y resolución de problemas.
- Realización de prácticas guiadas en laboratorio, orientadas al desarrollo de aplicaciones web y multiplataforma.
- Sesiones de tutoría y seguimiento de los trabajos prácticos.
- Pruebas de evaluación.
Actividades no presenciales:
- Estudio autónomo por parte del estudiante.
- Revisión bibliográfica, consulta de documentación técnica y búsqueda de información.
- Realización de ejercicios y trabajos prácticos.
- Desarrollo progresivo de aplicaciones y proyectos relacionados con los contenidos de la asignatura.
Para esta materia, las actividades formativas presenciales, que implican una interacción profesor estudiante, suponen el 40 % de los créditos ECTS. En la asignatura, la distribución temporal asignada a cada actividad se corresponde con el modelo de tipo C, según los modelos presentados en el apartado 5.1 de la memoria del Grado.
El contenido teórico presentado en las clases magistrales, junto con su aplicación en las sesiones de problemas y en las prácticas guiadas de laboratorio, facilitará la asimilación de las competencias anteriormente descritas. En las sesiones y seminarios tutelados se resolverán dudas, se orientará el desarrollo de las prácticas y se realizará el seguimiento del trabajo del alumnado. El trabajo personal permitirá afianzar dichas competencias mediante la consulta de documentación, la práctica continuada y el desarrollo de aplicaciones web y multiplataforma.
7. Distribución de las Metodologías Docentes
8. Recursos
Libros de consulta para el alumno.
- Haverbeke, M. Eloquent JavaScript: A Modern Introduction to Programming. No Starch Press.
- Simpson, K. You Don’t Know JS Yet.
- Freeman, E. y Robson, E. Head First HTML and CSS. O’Reilly Media.
- MacDonald, M. HTML5: The Missing Manual. O’Reilly Media.
- Djirdeh H, Murray, N., Lerner, A. Fullstack Vue: The Complete Guide to Vue.js. Fullstack.io.
- Casciaro, M. y Mammino, L. Node.js Design Patterns. Packt Publishing.
- Biehl, M. RESTful API Design. API-University Press.
- Fink, G. y Flatow, I. Pro Single Page Application Development. Apress.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.
- Documentación oficial de Vue.js.
- Documentación oficial de Vite.
- Documentación oficial de JavaScript.
- MDN Web Docs.
- Documentación oficial de Node.js.
- Documentación oficial de Express.js.
- Documentación oficial de Firebase.
- Documentación oficial de MongoDB.
- Documentación oficial de GraphQL.
- Documentación oficial de Ionic Framework.
- Documentación oficial de Capacitor.
- Documentación oficial de Git.
- GitHub Docs.
- Stack Overflow.
9. Evaluación
Criterios de evaluación.
El objetivo de la evaluación es comprobar que el alumnado es capaz de diseñar y desarrollar aplicaciones web y multiplataforma funcionales, aplicando los conceptos trabajados en la asignatura. Se valorará especialmente la construcción de interfaces, la organización mediante componentes, la gestión del estado, la navegación entre vistas, el consumo de servicios web, la comunicación con backend y la aplicación de buenas prácticas de desarrollo.
Asimismo, se tendrá en cuenta la calidad del código, la usabilidad, el diseño adaptable, la documentación del trabajo y la capacidad del alumnado para justificar las decisiones técnicas adoptadas durante la defensa.
Sistemas de evaluación.
La calificación final de la asignatura se obtendrá mediante los siguientes instrumentos:
- Evaluación continua: 30 %
- Trabajo final con defensa: 70 %
La evaluación continua consistirá en ejercicios prácticos, entregables y actividades de laboratorio realizados a lo largo del curso. Algunas de estas actividades podrán realizarse de forma grupal, según indique el profesorado.
El trabajo final consistirá en el desarrollo de una aplicación web o multiplataforma funcional, acompañada de una defensa obligatoria. En dicha defensa se verificará la autoría, la comprensión del proyecto y la adquisición de las competencias previstas. Se podrá solicitar el alumno realizar una modificación menor durante la defensa. No será suficiente con que la práctica funcione correctamente; el alumnado deberá demostrar que comprende el código entregado, la arquitectura utilizada y las decisiones técnicas adoptadas. En caso de no demostrarse dicha comprensión durante la defensa, el trabajo final podrá no computar o ser calificado como no superado.
Será obligatorio el uso de Git como sistema de control de versiones, con el fin de comprobar la trazabilidad del desarrollo, la evolución del trabajo y, en su caso, la contribución individual de cada estudiante.
Para que el trabajo final compute en la nota final será necesario obtener al menos una calificación mínima de 3 sobre 10.
Recomendaciones para la evaluación.
La asignatura tiene un carácter eminentemente práctico, por lo que se recomienda llevarla al día, asistir a las sesiones de laboratorio y realizar de forma continuada los ejercicios propuestos. También se aconseja consultar documentación técnica, practicar de manera autónoma y mantener actualizado el repositorio Git del proyecto.
En la recuperación, la calificación de la evaluación continua se mantendrá según los criterios establecidos por el profesorado. El trabajo final deberá recuperarse en la forma que se indique, pudiendo requerirse una nueva entrega y defensa.
