SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
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 en
Wataweb y, CTO de Fullday.pe y Cooltura App (en
desarrollo). Durante los últimos 8 años, ha participado en
diferentes proyectos de desarrollo de software en los
sectores público y privado. Es organizador de la comunidad
GDG Open en la ciudad Lima, comunidad que busca difundir
el 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 github
https://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

Contenu connexe

Tendances

Tendances (20)

Novedades Visual Studio 2013
Novedades Visual Studio 2013Novedades Visual Studio 2013
Novedades Visual Studio 2013
 
GraphQL en .NET
GraphQL en .NETGraphQL en .NET
GraphQL en .NET
 
Nativescript
NativescriptNativescript
Nativescript
 
Hablemos de .NET 6 y .NET MAUI
Hablemos de .NET 6 y .NET MAUIHablemos de .NET 6 y .NET MAUI
Hablemos de .NET 6 y .NET MAUI
 
Apps web vs apps nativas
Apps web vs apps nativasApps web vs apps nativas
Apps web vs apps nativas
 
Conferencia android
Conferencia androidConferencia android
Conferencia android
 
Android: introducción
Android: introducciónAndroid: introducción
Android: introducción
 
Conversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y TecnologíaConversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y Tecnología
 
Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEBMEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
 
Angular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbridoAngular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbrido
 
UNACH - INNOVATECH Empoderando con Immersive Reader.pptx
UNACH - INNOVATECH Empoderando con Immersive Reader.pptxUNACH - INNOVATECH Empoderando con Immersive Reader.pptx
UNACH - INNOVATECH Empoderando con Immersive Reader.pptx
 
Docker
DockerDocker
Docker
 
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDKGestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
 
Web apps con angular y material design
Web apps con angular y material designWeb apps con angular y material design
Web apps con angular y material design
 
Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?
 
Tres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraTres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carrera
 
Andrid studio
Andrid studioAndrid studio
Andrid studio
 

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

Similaire à Desarrollo Móvil con Android (...y Firebase) (20)

Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 
Share point y los dispositivos moviles
Share point y los dispositivos movilesShare point y los dispositivos moviles
Share point y los dispositivos moviles
 
Microsoft Developer Day UNED-CR
Microsoft Developer Day UNED-CRMicrosoft Developer Day UNED-CR
Microsoft Developer Day UNED-CR
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Devsecops con azure devops en global azure bootcamp 2019
Devsecops con azure devops en global azure bootcamp 2019Devsecops con azure devops en global azure bootcamp 2019
Devsecops con azure devops en global azure bootcamp 2019
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
Android studio
Android studioAndroid studio
Android studio
 
Azure | Open Source in Azure Overview - 30/11/2017
Azure | Open Source in Azure Overview - 30/11/2017Azure | Open Source in Azure Overview - 30/11/2017
Azure | Open Source in Azure Overview - 30/11/2017
 
Azure Dev(Sec)Ops EPIDATA completa
Azure Dev(Sec)Ops EPIDATA completaAzure Dev(Sec)Ops EPIDATA completa
Azure Dev(Sec)Ops EPIDATA completa
 
Workshop azure devsecops Microsoft Argentina
Workshop azure devsecops Microsoft ArgentinaWorkshop azure devsecops Microsoft Argentina
Workshop azure devsecops Microsoft Argentina
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzureDotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
 

Plus de Armando Picón Z.

Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
Armando Picón Z.
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
Armando Picón Z.
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
Armando Picón Z.
 

Plus de Armando Picón Z. (20)

Integra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseIntegra tu Aplicación Android con Firebase
Integra tu Aplicación Android con Firebase
 
Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
GDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresGDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladores
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para Android
 
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
 
GDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformGDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud Platform
 
Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014
 
Coding Dojo - Greed Kata
Coding Dojo - Greed KataCoding Dojo - Greed Kata
Coding Dojo - Greed Kata
 
Coding Dojo - Romans Kata
Coding Dojo - Romans KataCoding Dojo - Romans Kata
Coding Dojo - Romans Kata
 
Coding Dojo - Presentation Template
Coding Dojo - Presentation TemplateCoding Dojo - Presentation Template
Coding Dojo - Presentation Template
 
AgilePerú - Coding Dojo Week
AgilePerú - Coding Dojo WeekAgilePerú - Coding Dojo Week
AgilePerú - Coding Dojo Week
 
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaUsabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
 
Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Distributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizDistributed Scrum por Heitor Roriz
Distributed Scrum por Heitor Roriz
 
Como Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarComo Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De Movistar
 

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