desarrollo móvil con android (...y firebase)
TRANSCRIPT
Desarrollo Móvil con Android (...y Firebase!)
+Armando Picón@devpicon
¿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:
¿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
¿Qué
herramienta
necesito?
• Android Studio – Java / Kotlin• Xamarin – C#
¿Qué
habilidades y
conocimientos
necesito?
• Programación orientada a objetos
• Patrones• Principios SOLID
¿Qué
habilidades y
conocimientos
necesito?
• Single responsibility• Open/closed• Liskov substitution• Interface segregation• Dependency inversion
¿Para qué
nivel de
Android
programo?
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
¿Fragmentación?
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
¿Para qué
dispositivos?
¿Qué proceso seguimos?
Planificación
Desarrollo +
Pruebas
Despliegue
Monitoreo y Retrospectiva
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
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
Despliegue y
entrega
• Generación del APK Firmado• Play Store• Play Console• Alpha, Beta & Production
Monitoreo y
Retrospectiva
• Crashlytics• Firebase Crash Reporting• Lecciones aprendidas• Minor fixes
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.
¿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.
⋅ Base de datos NoSQL alojada
en la nube
⋅ Sincronización y resolución de
conflictos
⋅ Acceso directo desde tu
aplicación
⋅ Autenticación y administración
de cuentas
⋅ Soporta:
⋅ Correo y contraseña
⋅ Google, Facebook, Twitter y
GitHub sign-in
⋅ Sistemas auth existentes
SectionX
SectionY
SectionZ
⋅ Sirve archivos o
elementos estáticos
⋅ SSL por defecto
⋅ Dominios
customizados
⋅ Almacenamiento de archivos
sencillo
⋅ Manejo de escenarios de baja
conectividad
⋅ Soportado y accessible desde
Google Cloud Storage
Más tarde en el taller…
https://goo.gl/forms/pYYgIpjHbXl6FL303
http://tinyurl.com/DevPiconFeedback
Bríndame tu feedback!
Gracias!
@devpicon
+ArmandoPicon
github.com/devpicon
medium.com/@devpicon