Arquitectura de aplicaciones - MVP, Dagger, RxJava, Retrofit
4.8 (211 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,025 students enrolled

Arquitectura de aplicaciones - MVP, Dagger, RxJava, Retrofit

Aprende habilidades de arquitectura de software creando apps más robustas y divertidas utilizando Model-View-Presenter
4.8 (211 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,025 students enrolled
Last updated 1/2020
Spanish
Spanish [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 13 hours on-demand video
  • 12 articles
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Comprender la evolución del desarrollo de software y cómo nacen las necesidades de usar los patrones de diseño
  • Construir y crear apps de Android usando el patrón MVP
  • Utilizar Dagger II como framework de inyección de dependencias para Android
  • Conocer y saber aplicar correctamente las pruebas unitarias a través de JUnit y Mockito
  • Entender las bases de la programación reactiva y su correcta implementación a través de RxJava
  • Conectarte correctamente a APIs externas o protocolos HTTP con Retrofit
Course content
Expand all 90 lectures 13:13:16
+ Introducción al curso
5 lectures 14:08

Durante el curso es de esperar que te surjan dudas y quieras respuesta casi inmediata. Mientras que en el foro de Udemy pueden pasar entre 24 y 48 horas entre que escribes tu duda y yo tengo tiempo de responderlas, he creado para ti y todos los estudiantes una comunidad donde todos vosotros podéis (a mano o con mensaje de voz) poner vuestras dudas, sugerencias y resultados y que sean vuestros compañeros que están conectados los que os contesten.

Para unirte solamente debes hacer click en el siguiente enlace y registrarte si no tienes cuenta en Discord:

https://discord.gg/5BcqBbm

A partir de aquí, tendrás toda una red social de estudiantes que como tu buscan aprender y que te irán resolviendo las dudas del curso si están conectados. La idea es que crezcamos juntos y tu seas uno más, así que ¡apúntate y prepárate para convertirte en el siguiente desarrollador más famoso de toda la comunidad!

La comunidad de Discord para aprender todos juntos
03:37
Repositorio Git del curso
00:05
+ MVP al completo
13 lectures 01:22:38
Un pequeño comentario antes de empezar la sección
01:04
Un resumen de la parte teórica (por si quieres saltarte la sección)
16:34
Entendiendo la arquitectura de Android
08:57
Las necesidades del desarrollo de apps
08:54
El principio SOLID
03:58
Desacoplando la arquitectura
08:14
El MVP en acción
04:58
Arquitectura clean y MVP
07:28
El flujo de dependencias
07:56
Y en resumen...
01:32
+ Inyección de dependencias con Dagger II
16 lectures 02:03:10
Dagger II de Google
03:34
Portal de Dagger II
00:08
Dependencias
03:17
Inyección de dependencias
09:41
Ejemplo de inyección de dependencias
05:41
La interfaz gráfica de usuario
11:34
Añadir las dependencias de Dagger
04:33
La estructura para usar Dagger en Android
15:03
Estructura de paquetes recomendada
05:33
Estructura de clases para MVP
12:51
Los métodos de las interfaces de MVP
05:45
Implementación de la Vista
06:53
Implementación del Presentador
10:08
Implementación del Modelo
08:55
Configuración del módulo y las dependencias
09:32
Visualizando MVP línea por línea
10:02

Vamos a repasar los conceptos acerca de la primera implementación usando Dagger que hemos visto en esta parte

MVP y dagger
6 questions
+ Pruebas unitarias con JUnit, Mockito y Retrofit
7 lectures 01:21:25
Librerías para el Test Driven Development
14:35
Portal de Mockito para pruebas unitarias
00:04
Configurando Mockito para Unit Tests
32:03
Ejercicios con Mockito (I)
13:01
Ejercicios con Mockito (II)
05:13
Ejercicios con Mockito (III)
10:05
Ejercicios con Mockito (IV)
06:24
+ Llamadas HTTP y a APIs con Retrofit
10 lectures 01:43:34
Retrofit, un cliente seguro de HTTP para Android y Java
05:22
Web y recursos de Retrofit
00:06
Configurando Retrofit en Android
12:26
Cómo usar Gradle como un profesional
15:38
Generar clases de Java a partir de ficheros JSON
22:51
Conversor de ficheros JSON a POJO
00:10
Registro en el portal de la API de Twitch
06:00
API del portal de videojuegos Twitch
00:03
Cómo usar Retrofit para conectarnos a la API de Twitch
20:36
Descargando datos desde Twitch
20:21
La idea es investigar un poco más a fondo el uso de retrofit y aplicarlo a la API de Twitch
Práctica: Retrofit y APIs
3 questions
+ Programación reactiva con RxJava
10 lectures 01:40:41
Programación reactiva vs imperativa
11:28
Conoce el proyecto ReactiveX
17:19
Un ejemplo sencillo de programación reactiva
09:23
Un ejemplo un poco más elaborado
11:25
Webs de recursos de ReactiveX
00:04
Integrando RxJava en Android
09:06
Los objetos observables
07:29
Flujo de datos reactivos
16:12
Documentación de Reactive para desaprender
06:08
Un ejercicio para ti
12:07
Vamos a mejorar nuestras llamadas de Twitch e incluso investigar nuevas llamadas diferentes de forma reactiva
Llamadas a Twitch con programación reactiva
3 questions
+ Binding anotado con Butter Knife
8 lectures 56:33
Butter Knife, una herramienta muy útil
02:09
Portal web de Butter Knife
00:05
Integración de Butter Knife
04:05
Plugin para Butter Knife
00:31
Un ejemplo sencillo de Butter Knife
07:51
Butter Knife para otros recursos
14:39
Fragmentos, Adapters y listas de Vistas
14:55
Binding de métodos y modificadores
12:18

Hemos visto muchas librerías diferentes para resolver problemas específicos. Es hora de repasar como funcionan todas y cada una de ellas.

Frameworks para dar y tomar
9 questions
+ Proyecto final - Una app de película
19 lectures 03:42:29
El proyecto final del curso
04:49
Las librerías y dependencias
12:39
Diseño de la vista
15:18
ButterKnife y la interfaz de MVP
11:03
Configuración de Dagger e inyecciones de dependencias
10:07
Configurando el adapter de la recycler view
15:05
Implementando la lógica de la vista
07:42
Implementando la lógica del presentador
10:37
Implementando la lógica del modelo
08:53
Las Apis de 'The Movie Database' y 'OMDb'
19:42
Dos APIs para el mundo del cine
00:04
Los módulos e implementaciones de las APIs
11:04
El binding de Dagger 2 para compilar el proyecto
18:15
Implementando los clientes de Retrofit con claves de API
11:35
Crear una cache de datos
12:31
Descargar los datos con RxJava y Retrofit
15:50
Ultimando detalles de configuración
15:04
Resolución de bugs finales
06:35
Debugging de nuestro código por capas
15:36
+ BONUS - Un regalo para ti
2 lectures 01:59
Enhorabuena por acabar el curso
01:44
BONUS - Un regalo para ti
00:15
Requirements
  • Información básica acerca del proceso de desarrollo de software
  • Conocimiento básico de la arquitectura de programación y diseño de Android
  • Desear conocer y aprender nuevas formas de crear código sostenible con patrones de diseño
  • Es recomendable aunque no indispensable haber tomado el curso de Patrones de Diseño para Android del prof. Juan Gabriel Gomila
Description

Crear aplicaciones es algo divertido y que siempre entusiasma a uno como has podido comprobar en los cursos y bootcamps de creación de apps tanto para iOS como para Android de Juan Gabriel Gomila, ¿verdad? El proceso completo de tener una idea, prepararla y plasmarla sobre el papel o una servilleta seguido de todo el proceso de escribir el código, investigar librerías y solucionar bugs hasta subirla a la App Store es sin duda una de las experiencias más gratificantes que uno pueda llevar a cabo. Incluso si no eres consciente de ello, es un proceso lucrativo, muchos somos los desarrolladores que hemos dejado nuestros trabajos regulares porque podemos vivir con los ingresos que generan nuestras apps. Hay oportunidades más que de sobra para los desarrolladores y diseñadores para vivir con los ingresos de sus propios productos.


Android nos ofrece una plataforma magnífica y libre para desarrollar y subir apps a la Store de Google. La mayoría ya lo sabéis porque sois estudiantes míos en mis cursos de Android, boot camps y de patrones de diseño avanzados.


Sin duda alguna estos últimos años ha cambiado muchísimo la forma en la que el software se desarrolla. Los smartphones nos permiten hacer de todo sin levantarnos del sofá: la compra, ver series y películas, que nos traigan la comida a la puerta de casa, o incluso pedir artículos electrónicos... las posibilidades son casi ilimitadas. Y pensaréis que en este panorama el mercado ha está saturado y no hay margen de mejora. Pues no! Aun hay tareas que se hacen a mano o a papel en muchos sectores y rutinas cotidianas, así que todavía uno puede sorprenderse y lanzar el próximo hit en la Store de móvil. Una buena idea puede ser el inicio de un proyecto y una idea de negocio que pueda cambiar la vida de millones de personas.


Pero tanto para freelancers como empleados como desarrolladores de apps o arquitectos de aplicaciones, tanto si lanzamos una app al año o 50, tanto si mantenemos nuestras apps o contratamos a alguien para que lo haga, muchas veces nos encontramos con problemas: código repetido, errores, código spaghetti, mal documentado, elaborado sin seguir ningún patrón específico... Si alguna vez habéis hecho una app vosotros mismos, seguro que sabéis de lo que os hablo. Esto se acentúa muchísimo cada vez que queréis revisitar el código para corregir un error, un bug o lanzar una nueva actualización. Es entonces cuando entráis en un ataque de pánico y reconocéis que hacer apps no siempre es fácil y divertido, si no que muchas veces acaba siendo un gran dolor de cabeza.


Por eso tenéis que aprender patrones de diseño testados, probados, y que funcionan, sobretodo los patrones de arquitectura y las herramientas asociadas a los mismos que os traigo en este curso.


El núcleo fundamental del curso se basa en entender el marco teórico de cómo funciona el patrón de arquitectura del modelo vista presentador o MVP. Es un patrón de arquitectura moderno, actualizado y que aboga por la redacción de un código simple y sobretodo limpio. En el camino aparecerán otros conceptos fundamentales en los que haremos hincapié como la inyección de dependencias, la programación reactiva, las unit testings o la simulación de objetos o mocking que nos ayudaran muchísimo en nuestro camino como desarrolladores de aplicaciones. En particular haremos uso de unos frameworks muy interesantes como:

  • Dagger II para la inyección de dependencias y librería fundamental para establecer la división de roles con MVP

  • JUnit y Mockito para las pruebas unitarias o unit tests que agilizan la fase de testing cuando abogamos por un desarrollo  Test Driven Development o TDD

  • Retrofit para conectarnos a APIs externas y descargar datos desde protocolos HTTP

  • RxJava 2 para la programación reactiva que nos elevará las habilidades al máximo exponente para hacer unas apps mas funcionales e interactivas.

  • Butter Knife para agilizar el proceso de vincular widgets de tus XML y otros recursos a tus actividades o fragmentos.

Y todo en un mismo curso, donde aprenderemos juntos las habilidades de arquitectura de aplicaciones combinando la teoría con la parte práctica y de un modo escala le, con ejercicios y casos prácticos. Ha llegado el momento de formarte en las habilidades más demandadas por las empleas de tecnología del siglo XXI y que te conviertas en todo un profesional con el curso más avanzado de Android de todo el mercado hispano de Udemy!

Who this course is for:
  • Estudiantes de ingeniería informática
  • Desarrolladores de apps móviles y web
  • Arquitectos de Software
  • CTOs y fundadores de empresas tecnológicas (técnicos o no técnicos)
  • Programadores en empresas tecnológicas