Descripción
El mundo está lleno de desarrolladores Android, aunque no todos son capaces de plantear soluciones profesionales a
problemas reales. Si quieres saber lo que nadie te contará y lo que las empresas desean, aunque aún no lo sepan, este es tu libro.
Conseguirás organizar tus ideas, invertir tu tiempo sin desperdiciarlo y ahorrar dinero a la empresa con las últimas novedades en el desarrollo de Android.
• Aprenderás los principios SOLID y sabrás aplicarlos.
• Entenderás lo que es una arquitectura limpia.
• Conocerás distintos patrones de diseño.
• Serás capaz de estructurar tu proyecto en capas.
• Dominarás la inyección de dependencias y Dagger 2.
• Utilizarás control de versiones de código fuente.
• Definirás casos de uso, orientando el desarrollo a implementarlos.
• Ejecutarás pruebas unitarias para validar la funcionalidad de tu código.
• Aprenderás qué es la integración continua y utilizarás Jenkins.
• Conocerás Kotlin, el nuevo lenguaje de desarrollo para Android impulsado por Google.
Los autores son tres experimentados desarrolladores de software, con amplia experiencia en el desarrollo de proyectos en el ámbito empresarial, del mundo Java, .Net y Android. En este manual te facilitan lo necesario para ir un paso más allá del desarrollo y convertirte en todo un profesional de Android.
¡El momento del arquitecto software ha llegado, conviértete en uno de ellos y evoluciona!
Índice
PARTE 1: BLOQUE TEÓRICO
CAPÍTULO 1 : INTRODUCCIÓN 11
¿A quén va dirigido? 12
¿Cuál es el propósito? 12
Darás respuestas a 13
Estructura del libro 13
En primer lugar, algunos conceptos teóricos 13
Comienza la práctica 15
Ahora practicaremos más en serio 15
Katlin para rematar 16
CAPÍTULO 2: ARQUITECTURA CLEAN 17
CAPÍTULO 3: PRINCIPIOS SOLID 21
CAPÍTULO 4: PATRONES DE DISEÑO 27
MVC (Modelo Vista Controlador) 28
MVP (Modelo VIsta Presentador) 29
Comparando MVC y MVP 31
Patrón Observer 31
CAPÍTULO 5: INYECCIÓN DE DEPENDENCIAS 35
¿Qué es la inversión de dependencias? 36
¿En qués nos ayuda la inyección de dependencias? 36
¿En qué consiste? 36
CAPÍTULO 6: DAGGER 2 37
CAPÍTULO 7: ARQUITECTURA DEL PROYECTO ANDROID 41
CAPÍTULO 8: TEST UNITARIOS 43
JUnit 44
Aplicación de ejemplo 46
Test con JUnit 50
Test con Mockito 55
CAPÍTULO 9: BITBUCKET & JENKINS 67
Jenkins 74
Instalación 75
CAPÍTULO 10: TRELLO 93
CAPÍTULO 11: SLACK 97
Creación de un grupo en Slack 100
CAPÍTULO 12: BITBUCKET 107
Inicializar Git desde un directorio existente 109
Clonar repositorio en un directorio 111
Integrar Bitbucket con Slack 112
PARTE 2: PROYECTOS DE PRUEBA
CAPÍTULO 1: PROYECTO BASE DAGGER 2 117
CAPÍTULO 2: PROYECTO BASE DAGGER V211 123
CAPÍTULO 3: PROYECTO CLEAN MVP CON DAGGER 211 Y RXJAVA 131
PARTE 3 : DESARROLLO DE UNA APP PROFESIONAL
CAPÍTULO 1: DESARROLLO APP PROFESIONAL 167
Trello 168
Git 169
Firebase 172
GSON 179
Retrofit 2 180
Butterknife 182
Picasso 183
Realm Database 183
Desarrollo de la aplicación 186
PARTE 4: KOTLIN
CAPÍTULO 1: KOTLIN 265
Hola Mundo (IntelliJ IDEA) 267
Variables y tipos 269
Arrays 270
Listas 272
Funciones 274
Colecciones y funciones 275
If-else-when 277
Hola Mundo en Kotlin 279
CAPÍTULO 2: KOTLIN MVP 285
Módulo del dominio 286
Módulo de datos 290
Módulo de presentación 293
REFLEXIONES FINALES