Desarrollo Móvil con Android (...y Firebase)

40
Desarrollo Móvil con Android (...y Firebase!) +Armando Picón @devpicon

Transcript of Desarrollo Móvil con Android (...y Firebase)

Page 1: Desarrollo Móvil con Android (...y Firebase)

Desarrollo Móvil con Android (...y Firebase!)

+Armando Picón@devpicon

Page 2: Desarrollo Móvil con Android (...y Firebase)

¿Quién soy?

Tec. Computación e Informática y Freelance.

Se desempeña también como Software Developer Lead enWataweb y, CTO de Fullday.pe y Cooltura App (endesarrollo). Durante los últimos 8 años, ha participado endiferentes proyectos de desarrollo de software en lossectores público y privado. Es organizador de la comunidadGDG Open en la ciudad Lima, comunidad que busca difundirel uso de las tecnologías que Google provee.

Publica artículos sobre desarrollo de software en su blog:http://medium.com/@devpicon y su repo en githubhttps://github.com/devpicon/

Colaboro con:

Page 3: Desarrollo Móvil con Android (...y Firebase)
Page 4: Desarrollo Móvil con Android (...y Firebase)

¿Por qué

Android?

• Android es uno de los sistemas operativos con mayor cantidad de activaciones al año

• Menos barreras de entrada para el desarrollo

• Rendimiento• Herramientas de desarrollo –

Android Studio• Portabilidad

Page 5: Desarrollo Móvil con Android (...y Firebase)

¿Qué

herramienta

necesito?

• Android Studio – Java / Kotlin• Xamarin – C#

Page 6: Desarrollo Móvil con Android (...y Firebase)

¿Qué

habilidades y

conocimientos

necesito?

• Programación orientada a objetos

• Patrones• Principios SOLID

Page 7: Desarrollo Móvil con Android (...y Firebase)

¿Qué

habilidades y

conocimientos

necesito?

• Single responsibility• Open/closed• Liskov substitution• Interface segregation• Dependency inversion

Page 8: Desarrollo Móvil con Android (...y Firebase)

¿Para qué

nivel de

Android

programo?

Page 9: Desarrollo Móvil con Android (...y Firebase)

Froyo, 0.10% Gingerbread, 1.70%

Ice Cream Sandwich, 1.60%

Jelly Bean, 16.70%

KitKat, 29.20%

Lollipop, 35.50%

Marshmallow, 15.20%

https://developer.android.com/about/dashboards/index.html

Page 10: Desarrollo Móvil con Android (...y Firebase)

¿Fragmentación?

Page 11: Desarrollo Móvil con Android (...y Firebase)
Page 12: Desarrollo Móvil con Android (...y Firebase)

ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total

Small 1.8% 1.8%

Normal 3.8% 0.1% 40.0% 27.3% 15.5% 86.7%

Large 0.2% 4.3% 2.1% 0.5% 0.5% 7.6%

Xlarge 2.9% 0.3% 0.7% 3.9%

Total 2.0% 11.0% 2.2% 40.8% 28.5% 15.5%

https://developer.android.com/about/dashboards/index.html || https://developer.android.com/guide/practices/screens_support.html

Page 13: Desarrollo Móvil con Android (...y Firebase)

¿Para qué

dispositivos?

Page 14: Desarrollo Móvil con Android (...y Firebase)
Page 15: Desarrollo Móvil con Android (...y Firebase)
Page 16: Desarrollo Móvil con Android (...y Firebase)

¿Qué proceso seguimos?

Page 17: Desarrollo Móvil con Android (...y Firebase)

Planificación

Desarrollo +

Pruebas

Despliegue

Monitoreo y Retrospectiva

Page 18: Desarrollo Móvil con Android (...y Firebase)

Planificación

• Revisión de requerimientos• Maqueteado• Material Design• Determinar la complejidad de la

aplicación• Priorización de features y fixes• Esbozar la arquitectura• Administración de trabajo

Page 19: Desarrollo Móvil con Android (...y Firebase)

Desarrollo +

Pruebas

• Programación• Versionamiento de código• Pruebas unitarias• Pruebas de instrumentalización• Espresso / UI Automator /

AndroidJUnitRunner• Mocks• Travis-CI• Firebase Test Lab• Xamarin Test Cloud• Testdroid Cloud

Page 20: Desarrollo Móvil con Android (...y Firebase)

Despliegue y

entrega

• Generación del APK Firmado• Play Store• Play Console• Alpha, Beta & Production

Page 21: Desarrollo Móvil con Android (...y Firebase)

Monitoreo y

Retrospectiva

• Crashlytics• Firebase Crash Reporting• Lecciones aprendidas• Minor fixes

Page 22: Desarrollo Móvil con Android (...y Firebase)
Page 23: Desarrollo Móvil con Android (...y Firebase)

Bases de Datos NoSQL

• No SQL o No solo SQL o No Relacional

• Este tipo de base de datos no sigue el modelo tradicional de bases de datos relacionales.

Page 24: Desarrollo Móvil con Android (...y Firebase)

¿Por qué emplear Bases de Datos NoSQL?

• Por una motivación técnica: manejo de nuevos tipos de datos multiestructurados.

• Por una motivación de costo: identificar alternativas a software y hardware propietarios costosos.

• Por agilidad en el desarrollo: la modificación de estructuras permite una mejor respuesta ante posibles cambios de esquema.

Page 25: Desarrollo Móvil con Android (...y Firebase)
Page 26: Desarrollo Móvil con Android (...y Firebase)
Page 27: Desarrollo Móvil con Android (...y Firebase)
Page 28: Desarrollo Móvil con Android (...y Firebase)
Page 29: Desarrollo Móvil con Android (...y Firebase)
Page 30: Desarrollo Móvil con Android (...y Firebase)

⋅ Base de datos NoSQL alojada

en la nube

⋅ Sincronización y resolución de

conflictos

⋅ Acceso directo desde tu

aplicación

Page 31: Desarrollo Móvil con Android (...y Firebase)
Page 32: Desarrollo Móvil con Android (...y Firebase)
Page 33: Desarrollo Móvil con Android (...y Firebase)
Page 34: Desarrollo Móvil con Android (...y Firebase)

⋅ Autenticación y administración

de cuentas

⋅ Soporta:

⋅ Correo y contraseña

⋅ Google, Facebook, Twitter y

GitHub sign-in

⋅ Sistemas auth existentes

Page 35: Desarrollo Móvil con Android (...y Firebase)

SectionX

SectionY

SectionZ

⋅ Sirve archivos o

elementos estáticos

⋅ SSL por defecto

⋅ Dominios

customizados

Page 36: Desarrollo Móvil con Android (...y Firebase)

⋅ Almacenamiento de archivos

sencillo

⋅ Manejo de escenarios de baja

conectividad

⋅ Soportado y accessible desde

Google Cloud Storage

Page 37: Desarrollo Móvil con Android (...y Firebase)

Más tarde en el taller…

Page 38: Desarrollo Móvil con Android (...y Firebase)
Page 39: Desarrollo Móvil con Android (...y Firebase)

https://goo.gl/forms/pYYgIpjHbXl6FL303

http://tinyurl.com/DevPiconFeedback

Bríndame tu feedback!

Page 40: Desarrollo Móvil con Android (...y Firebase)

Gracias!

@devpicon

+ArmandoPicon

github.com/devpicon

medium.com/@devpicon