Arquitecturas Android

Descripción

La formación más completa del mercado para llevar a tu equipo Android al siguiente nivel.

Aprenderás todo sobre calidad de software, patrones de diseño, arquitecturas, inyección de dependencias y testing.

Crearéis aplicaciones escalables, mantenibles y robustas con un lenguaje común para todo el equipo.

* Esta formación puede ser bonificada por FUNDAE (Tripartita)

¿Por qué necesitas este training?

Crear Apps Android hoy en día se ha vuelto algo más que simplemente pintar pantallas y conectarlas con un API.

Las Apps cada vez son más complejas y necesitan adaptarse con mayor rapidez a los cambios que demanda el mercado.

Para ello no es suficiente con hacer Apps que funcionen: se necesita crear software escalable, flexible, mantenible y testeable.

Por eso es de vital importancia aprender a crear código que cumpla con estas premisas y que, además, genere un lenguaje común entre todos los integrantes del equipo.

Pero también es necesario aprender los conceptos en un orden lógico para asentar las nuevas ideas sobre una base sólida. Si no, será imposible asimilar y aplicar ideas más avanzadas.

En esta formación lo aprenderás todo sobre calidad de software, patrones de presentación, arquitecturas, inyección de dependencias y testing, para llevar tus Apps Android a un nuevo nivel.

Duración y requisitos

La formación consiste en 25 horas (normalmente dividida en 5 días de 5 horas).

Se necesita tener conocimientos de desarrollo en Android.

Temario

Este es el contenido estándar, aunque se puede adaptar a las necesidades y conocimientos de cada grupo:

1. Principios y conceptos esenciales de calidad de software

Son los cimientos para escribir software de calidad.

Hablaremos de los Principios SOLID, y de algunas otras leyes y conceptos que nos van a ayudar a detectar problemas en el código y solucionarlos para que nuestro código sea más flexible, mantenible y fácil de comprender.

 

2. Capa de UI

Veremos cuáles son los patrones de presentación más clásicos en desarrollo Android, qué diferencias hay entre ellos y cuándo elegir unos u otros.

Haremos ejemplos de ambos y cómo pasar de uno a otro.

Además, también tratareros sobre muchos otros temas imprescindibles, como:

  • Tipos de Observables (LiveData vs StateFlow)
  • Formas de modelar el estado de UI
  • Eventos de UI
  • Navegación
  • Estado de UI con StateHolders
  • Diffing manual y con Data Binding
3. Capa de Datos

Organizar bien la recuperación y modificación de datos es imprescindible, y en este módulo hablaremos de todo esto.

  • Cómo organizar el acceso a datos
    • Repositorios
    • Data Sources
  • Single Source of Truth
  • Bases de datos con Room
  • Manejo de errores
4. Arquitecturas: qué son, tipos y aplicación

Veremos por qué necesitamos arquitecturas más avanzadas, qué tipos hay y qué tienen todas en común.

Además, hablaremos sobre las posibilidades de división en cuanto a capas y módulos, y os enseñaré mi aplicación de la misma.

Por último, aplicaremos todo lo aprendido al proyecto.

5. Inyección de dependencias

Suele haber un poco de confusión sobre qué es la inyección de dependencias y qué no es, y en esta sección hablaremos de los distintos tipos de provisión de dependencias, y qué diferencias hay entre cada uno.

También lo bajaremos a tierra con las tres librerías más populares en Android: Dagger, Koin y Hilt.

6. Testing

El testing siempre es uno de los puntos más complicados de adoptar, y entre otras cosas el problema es que para poder aplicar los tests correctamente, se necesita haber aprendido todo lo anterior.

A este punto habremos llegado con una arquitectura testable que nos va a permitir crear tests con facilidad.

Veremos cómo crear tests unitarios, tests de integración y tests de UI, junto con las herramientas más populares que nos facilitarán la tarea.

Matrícula

600€ (+IVA) por alumno, con un mínimo de 10 alumnos, o pago del precio equivalente.

 Si tu equipo es más pequeño, no dudes en ponerte en contacto para ver qué opciones podemos plantear.

Si te interesa esta formación para ti o tu empresa, ponte en contacto con nosotros haciendo click en el siguiente botón: