Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Charla que presenté en el Agile Day Tacna 2016 como parte del AgilePerú Tour 2016 en la ciudad de Tacna, Perú

Armando Picón

September 03, 2016
Tweet

More Decks by Armando Picón

Other Decks in Programming

Transcript

  1. ¿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:
  2. ¿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
  3. ¿Qué habilidades y conocimientos necesito? • Single responsibility • Open/closed

    • Liskov substitution • Interface segregation • Dependency inversion
  4. 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
  5. 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
  6. 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
  7. 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
  8. Despliegue y entrega • Generación del APK Firmado • Play

    Store • Play Console • Alpha, Beta & Production
  9. 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.
  10. ¿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.
  11. ⋅ Base de datos NoSQL alojada en la nube ⋅

    Sincronización y resolución de conflictos ⋅ Acceso directo desde tu aplicación
  12. ⋅ Autenticación y administración de cuentas ⋅ Soporta: ⋅ Correo

    y contraseña ⋅ Google, Facebook, Twitter y GitHub sign-in ⋅ Sistemas auth existentes
  13. ⋅ Almacenamiento de archivos sencillo ⋅ Manejo de escenarios de

    baja conectividad ⋅ Soportado y accessible desde Google Cloud Storage