Contenido de XSL

Desarrollo Avanzado de aplicaciones web28417

Centro
Escuela de Ingeniería de Vitoria-Gasteiz
Titulación
Grado en Ingeniería Informática de Gestión y Sistemas de Información
Curso académico
2024/25
Curso
4
Nº Créditos
6
Idiomas
Castellano
Código
28417

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral1522.5
P. Ordenador4567.5

Guía docenteAlternar navegación

Descripción y Contextualización de la AsignaturaAlternar navegación

El desarrollo avanzado de aplicaciones web implica el uso de tecnologías y técnicas más sofisticadas para crear aplicaciones web complejas y de alto rendimiento. Aquí hay 2 aspectos clave del desarrollo avanzado de aplicaciones web:



1. Arquitectura de aplicaciones: Utilización de arquitecturas modernas como la arquitectura de microservicios o arquitectura de aplicaciones basadas en componentes (por ejemplo, React.js, Angular, Vue.js) para dividir la aplicación en módulos independientes que pueden ser desarrollados, desplegados y escalados de forma independiente.



2. APIs y servicios web: Desarrollo de APIs robustas que permitan la comunicación entre el frontend y el backend de la aplicación, así como la integración con servicios externos. Las APIs RESTful o GraphQL son opciones comunes. Además, se pueden utilizar servicios web como AWS Lambda o Google Cloud Functions para construir microservicios que se ejecuten en la nube.



Nosotros nos vamos a centrar en este segundo aspecto. Por ello, el objetivo principal de la asignatura es que el/la alumno/a sea capaz de realizar una aplicación web, diseñando y programando el front-end para dispositivos Android, así como el desarrollo del back-end, que será un Servicio Web (que incluya una BD) al que acceder desde el móvil.



Para cursar esta asignatura es obligatorio tener un portátil con Windows 10 y RAM de 16 GB, pues la cantidad de software a instalar requiere de estos mínimos para los servicios web y el emulador de Android.



Esta asignatura parte de los conocimientos básicos del alumnado en Programación Orientada a Objetos, Ingeniería del Software y Sistemas Web, para profundizar en las principales tecnologías relacionadas con el desarrollo de Sistemas de Información Web.

Competencias/ Resultados de aprendizaje de la asignaturaAlternar navegación

Competencias específicas del módulo de Sistemas de Información (SI):



SI.4: Capacidad para comprender y aplicar los principios y prácticas de las organizaciones, de forma que puedan ejercer como enlace entre las comunidades técnica y de gestión de una organización y participar activamente en la formación de los usuarios.



SI.6: Capacidad para participar activamente en la especificación, diseño, implementación y mantenimiento de los sistemas de información y comunicación.

Contenidos teórico-prácticosAlternar navegación

Tema 1. Herramientas para aplicaciones en Android con Java: Android Studio

Tema 2. Programación en Android con Java - parte 1

- Interfaz de usuario: Layouts

- Controles básicos: EditText, TextView, CheckBox, RadioButton, etc.

- Controles de selección: Listas desplegables (Spinner), Listas optimizadas (ViewHolder)

- Diálogos: DatePickerDialog y TimePickerDialogURL

- Internacionalización

Tema 3. Programación en Android con Java - parte 2

- Captura y visualización de imágenes

- Listas dinámicas con RecyclerView

- Fragments

- Componente BottomNavigationViewURL

- TabLayout y ViewPager2 (Creación de pestañas deslizantes - Swipe)

Tema 4. Servicios Web: API REST

Tema 5. Front-end: Android con Retrofit 2

Tema 6. Back-end: API REST-Json con Sprint Boot

Tema 7. Firebase con Java en Android Studio

- Realtime Database: Lectura y Escritura

- Autenticación con Email y Contraseña

- Autenticación con Google como proveedor

- Almacenamiento de archivos/imágenes

- Ubicación con Google Maps

- Notificaciones (con token y con topic)

- Cloud Functions

MetodologíaAlternar navegación

En las clases M se realizarán sesiones de exposición de los conceptos de Android y de Servicios Web, reforzados con ejemplos de situaciones donde dichos conceptos se van a utilizar.



En las clases GO se instalarán las herramientas necesarias tanto para la programación como para la puesta en marcha de los ejercicios de los tutoriales de Android y de los Servicios Web con acceso a una BD relacional. También se trabajará con una base de datos en tiempo real no SQL, como es Firebase, para comprobar su eficiencia frente a un Servicio Web REST.

Sistemas de evaluaciónAlternar navegación

  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Realización de prácticas (ejercicios, casos o problemas) (%): 50
    • Trabajos individuales (%): 50

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar navegación

La evaluación de la asignatura en la convocatoria ORDINARIA se realiza mediante evaluación continua o evaluación final. Por defecto, todos los/las alumnos/as realizarán la evaluación continua, salvo que renuncien a ella.



ORIENTACIONES SOBRE EVALUACIÓN FINAL:

El/la alumno/a puede decidir renunciar a la evaluación continua para realizar la evaluación final. Esta renuncia se deberá presentar por escrito al profesorado responsable en los plazos estipulados en el Artículo 8.3 de la normativa sobre la evaluación del alumnado (plazo de 9 semanas). No se aceptarán casos excepcionales ni renuncias a la evaluación continua posteriormente a las fechas habilitadas para ello.



Para la evaluación final es obligatoria la entrega de todos los trabajos planteados y su defensa de forma presencial en fechas acordadas entre ambos.



ORIENTACIONES SOBRE EVALUACIÓN CONTINUA:

Para la evaluación continua de la asignatura es necesaria la asistencia a clase en un 80% y la entrega de los diferentes trabajos planteados en clase junto con la documentación solicitada.



CALIFICACIÓN EN AMBAS EVALUACIONES:

Para aprobar la asignatura, es necesario obtener una calificación mínima de 5 puntos.



Nota final = 0,30 x Trabajo 1 (back-end+BD) + 0,30 x Trabajo 2 (front-end) + 0,40 del Trabajo 2 (front-end con acceso a Firebase+informe)



Se trata de 2 trabajos donde cada estudiante diseña e implementa el mismo proyecto de aplicación web (en equipo de 2 personas en la evaluación continua, siempre que haya un grupo grande, o individual en la evaluación final), pero con diferentes herramientas de software.



trabajo 1: 5RF (60%)

Tarea 1.1: BD en MySQL

Tarea 1.2: Back-end o SW Rest-Json con Spring Boot en Sprint Tools

Tarea 1.3: Front-end o Cliente Rest con Retrofit en Android Studio



Trabajo 2: todos los RF (35%)

Entregable 2.1: Informe SQL a NoSQL

Tarea 2.2: Proyecto en Android y Database, Storage, etc. en Firebase



El/la alumno/a suspenderá la convocatoria ORDINARIA, si se da alguna de estas dos situaciones:

- Que las pruebas de ejecución de los diferentes trabajos no sean correctas ni satisfagan un mínimo de los requisitos funcionales especificados en las clases.

- Que la profesora considere que la autoría no esté correctamente justificada.



RENUNCIA:

- En el caso de evaluación continua, si el peso de la prueba es superior al 40% de la calificación de la asignatura, bastará con no presentarse a dicha prueba final para que la calificación final sea no presentado o no presentada. En caso contrario, si el peso de la prueba final es igual o inferior al 40% dela calificación de la asignatura, el alumnado podrá renunciar a la convocatoria en un plazo que, como mínimo, será hasta un mes antes de la fecha de fin del período docente de la asignatura correspondiente. Esta renuncia deberá presentarse por escrito ante el profesorado responsable de la asignatura.



CASOS DE COPIA:

- En el caso de copia de los trabajos se aplicará el Artículo 11 de la normativa vigente a la evaluación del alumnado.





Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

Se tendrán en cuenta las mismas consideraciones que en la convocatoria ORDINARIA.

Materiales de uso obligatorioAlternar navegación

Material disponible en la plataforma egela.ehu.es

Se trata de apuntes, vídeos, ejecución de ejercicios ya resueltos, ejecución dela aplicación web en el mundo real que se va a desarrollar a lo largo del cuatrimestre, etc.

Instalación de las siguientes herramientas para la ejecución de los ejercicios:
Primer bloque
BD: MySQL
Servicio Web: Spring Tools para Spring Boot
Contenedor Web: Tomcat
Pruebas del SW: Postman
Aplicación en el móvil: Android Studio para Java y Retrofit
-----------------------
Segundo bloque
BD: Firebase Console
Mapas: Google Cloud Console
Aplicación en el móvil: Android Studio para Java

BibliografíaAlternar navegación

Bibliografía básica

Jesús Tomás Gironés, Jaime Lloret Mauri. El gran libro de Android. Editor: Marcombo, Edición: 9, 2022.



Sylvain Hebuterne. Desarrolle una aplicación android. Programación en Java con android studio. Editor: Eni, Edición: 1, 2020.



Greg L. Turnquist. Learning Spring Boot 3.0 - Third Edition: Simplify the development of production-grade applications using Java and Spring. Editor: Packt Publishing, Edición: Third, 30-12-2022.



Rafael Benedettelli. Spring Boot Español: Arquitectura de Back-End. Editor: Versión Kindle, Edición:1. 2022.



Direcciones web

Android Studio:
https://developer.android.com/studio/

Tutorial de Android con Java de Diego Moisset y Cristian Henao:
https://www.youtube.com/watch?v=X5fsU0Oxljg&list=PLIygiKpYTC_6XbaH_E39-cBEfqIosadAq
https://codejavu.blogspot.com/p/blog-page_24.html

Spring Boot:
https://datos.codeandcoke.com/apuntes:spring

Spring Boot + Java con Retrofit:
https://www.youtube.com/watch?v=UBW9I4BMDIY&list=PL4bT56Uw3S4zTO4Kls4m0wH2eNUQBXDfw&index=1

Firebase:
https://firebase.google.com/docs/database?hl=es-419
https://console.firebase.google.com/ Hay que loguearse con gmail.

GruposAlternar navegación

16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

14:00-15:00 (1)

Profesorado

Aula(s) impartición

  • AULA INFORMÁTICA 1.4 - ESCUELA DE INGENIERIA DE VITORIA-GASTEIZ (1)

16 P. Ordenador-1 (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

15:00-16:00 (1)

16:00-18:00 (2)

Profesorado

Aula(s) impartición

  • AULA INFORMÁTICA 1.4 - ESCUELA DE INGENIERIA DE VITORIA-GASTEIZ (1)
  • AULA INFORMÁTICA 1.4 - ESCUELA DE INGENIERIA DE VITORIA-GASTEIZ (2)