Guías Académicas

DESARROLLO DE APLICACIONES AVANZADAS

DESARROLLO DE APLICACIONES AVANZADAS

GRADO EN INGENIERÍA INFORMÁTICA

Curso 2025/2026

1. Datos de la asignatura

(Fecha última modificación: 23-09-25 9:17)
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

Studium

Datos del profesorado

Coordinador/Coordinadora
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/147997/detalle
E-mail
andremendes@usal.es
Teléfono
923294500 Ext. 6086
Profesor/Profesora
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
E-mail
david.cruz.garciaa@usal.es
Teléfono
-
Profesor/Profesora
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
E-mail
sergio.gg@usal.es
Teléfono
-

2. Recomendaciones previas

Como tal, esta asignatura es la continuación natural de Interfaces Gráficas, que sienta sus bases. Se recomienda cursar esta asignatura después de aprobar Interfaces Gráficas, aunque con cierto esfuerzo es posible abordarla de manera independiente. A su vez, Interfaces Gráficas requiere haber cursado y aprobado previamente Programación III, por cuanto está basada en la metodología orientada a objetos

3. Objetivos

Tomando como base los conocimientos previos del alumno, y propios de quien aborda una asignatura relacionada con el diseño de aplicaciones avanzadas, se pretende estudiar y poner en práctica los algoritmos de utilización propios de aplicaciones dotadas de GUI, muy especialmente en el caso de un escritorio táctil. El alumno recibe la formación necesaria para comprender los procesos subyacentes cuando se hace uso de la tecnología móvil actual, y aplica concretamente esa formación para construir aplicaciones iOS y desarrollo de aplicaciones multiplataforma usando frameworks de JavaScript.

Como parte importante de la asignatura, se ponen de manifiesto los aspectos relacionados con la usabilidad de una aplicación, y se tienen en cuenta las especiales posibilidades que aporta una plataforma móvil (acelerómetros, GPS, acceso a Internet). Estas posibilidades forman parte de una API muy extensa (aproximadamente 100 frameworks), que se estudia de forma detallada con objeto de posibilitar el futuro estudio de otras partes del API.

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.

TEORÍA.

 

La relación de temas que se presenta es aproximada, y depende del rápido desarrollo de la plataforma. Es de suponer que los elementos fundamentales no cambien excesivamente.

Desarrollo de aplicaciones en el entorno macOS:

  1. Descripción general de la plataforma: Mac OS, iOS, iPad OS, tv OS, Watch OS
    1.1. El lenguaje de programación Swift
    1.2. Playgrounds (mac OS, iOS)
    1.3. Funciones, Clases, Métodos, Protocolos
    1.4. Cadenas, Colecciones y Programación Funcional

  2. Desarrollo de aplicaciones para dispositivos móviles con SwiftUI

2.1. Introducción a SwiftUI: vistas declarativas y estado de la UI
2.2. Navegación y paso de datos entre pantallas
2.3. Diseño adaptable con Layouts: HStack, VStack, Grid
2.4. Patrón MVVM y gestión del estado
2.5. Consumo de APIs REST
2.6. Accesibilidad, widgets y notificaciones básicas

Desarrollo de aplicaciones multiplataforma

  1. Introducción a los frameworks frontend
  2. Fundamentos de componentes
  3. Estado y reactividad
  4. Estilos y diseño adaptable
  5. Enrutado y navegación
  6. Gestión de estado global
  7. Consumo de APIs (REST / GraphQL)
  8. Autenticación y seguridad (Firebase/NodeJS)
  9. Desarrollo multiplataforma (PWA, Ionic)

Despliegue y optimización

6. Metodologías Docentes

Las actividades formativas que se proponen para esta materia son las siguientes:

Actividades presenciales:

  • Lección magistral: exposición de teoría y resolución de problemas
  • Realización de prácticas guiadas en laboratorio
  • Sesiones de tutoría
  • Pruebas de evaluación

Actividades no presenciales:

  • Estudio autónomo por parte del estudiante
  • Revisión bibliográfica y búsqueda de información
  • Realización de trabajos

Para esta materia las actividades formativas presenciales, que implican una interacción profesor-estudiante, suponen el 40% de los créditos ECTS. En las asignaturas la distribución temporal asignada a cada actividad se corresponde con el modelo de tipo C (modelos presentados en el apartado 5.1 de la memoria del Grado).

El contenido teórico de las materias presentado en las clases magistrales junto con su aplicación en las clases de problemas y las prácticas guiadas facilitará la asimilación de las competencias anteriormente descritas. En las sesiones y seminarios tutelados se resolverán las dudas y el trabajo personal permitirá afianzar dichas competencias.

7. Distribución de las Metodologías Docentes

8. Recursos

Libros de consulta para el alumno.

Swift Programming: The Big Nerd Ranch Guide (2nd Edition) Mathias M. and Gallagher J.

iOSProgramming: The Big Nerd Ranch Guide (6th Edition) Keur, C. and Hillegass, A.

Cocoa Programming for Mac OS X (5th Edition) Hillegass, A., Preble A. and Chandler N.

 

Se recomienda consultar la amplia bibliografía disponible en www.raywenderlich.com.

Otra opción interesante son los libros de Michael Kofler editados por Rheinwerk Computing.

Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.

http://stackover flow.com,

http:/developer.apple.com

9. Evaluación

Criterios de evaluación.

Evaluación continua: tendrá un peso del 30 % de la nota total. Se valorarán los ejercicios prácticos entregables realizados a lo largo del curso (tres en total), así como la participación activa en clase y en las sesiones de laboratorio. El objetivo es favorecer un aprendizaje progresivo y constante, asegurando que el alumno vaya consolidando los conceptos teóricos y prácticos conforme avanza el curso.

Prácticas finales: tendrán un peso del 70 % de la nota total. El alumno deberá realizar dos prácticas finales de carácter obligatorio, cada una con una defensa individual ante el profesor. En ambas prácticas podrá requerirse la entrega de un informe explicativo que complemente el trabajo práctico desarrollado, en el que se describa la metodología seguida, las decisiones de diseño y las pruebas realizadas.

Para aprobar la asignatura será necesario obtener al menos una nota mínima de 3 sobre 10 en cada una de las prácticas finales.

Sistemas de evaluación.

Evaluación continua: se llevará a cabo mediante la realización de ejercicios prácticos entregables a lo largo del curso, así como la participación activa en las sesiones de clase y laboratorio. Los entregables se evaluarán teniendo en cuenta la correcta aplicación de los conceptos, la claridad del código y la justificación de las decisiones tomadas.

Prácticas finales: consistirán en dos proyectos de carácter práctico, con defensa individual obligatoria. Se valorará tanto el correcto funcionamiento del trabajo como la calidad de la documentación presentada y la capacidad del alumno para defender su solución.

Recomendaciones para la evaluación.

  • Evaluación continua (30 %): se aconseja la entrega puntual de los ejercicios y una participación activa en clase, ya que son fundamentales para consolidar el aprendizaje.
  • Prácticas finales (70 %): se recomienda dedicar tiempo a la planificación y organización de cada práctica, así como preparar la defensa individual. El informe explicativo, en caso de ser requerido, debe ser claro y conciso.
  • Recuperación: la nota obtenida en evaluación continua se mantendrá a efectos de la segunda convocatoria. Las prácticas finales deberán recuperarse en la forma que indique el profesor.