Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Buenas prácticas en el desarrollo Android - Imaginática 2013

3,167 views

Published on

Repasaremos las principales recomendaciones para hacer aplicaciones coherentes con el ecosistema Android, aprovechando todos los recursos a nuestra disposición, y que resulten en una experiencia de usuario lo más placentera posible. Básicamente, os conteremos las claves para hacer buenas aplicaciones. No será de alto nivel técnico, por lo que puede ser apta para cualquiera interesado en el mundo de las aplicaciones móviles.

Published in: Technology
  • Be the first to comment

Buenas prácticas en el desarrollo Android - Imaginática 2013

  1. 1. Buenas prácticas en el desarrollo Android
  2. 2. ¿Quiénes somos? Androcode.es
  3. 3. Cómo desarrollar aplicaciones para Android Principios básicos
  4. 4. Principios básicos Java y Dalvik Activities, Services, Intents, ... Recursos (la clase R)
  5. 5. Cómo desarrollar buenas aplicaciones para Android
  6. 6. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  7. 7. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  8. 8. Encántame Sorprende al usuario Los objetos reales son más divertidos Permite la personalización Aprende del usuario
  9. 9. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  10. 10. Simplifica mi vida Sé simple, imágenes mejor que palabras Muestra sólo lo que necesita el usuario Decide por él, pero déjale la última palabra No pierdas al usuario ni sus cosas Interrumpe sólo si es necesario
  11. 11. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  12. 12. Hazme asombroso Proporciona trucos Sé educado y claro Divide tareas complejas Haz tú el trabajo pesado Las cosas importantes hazlas rápido
  13. 13. Patrones de diseño
  14. 14. Action Bar De los elementos más importantes Consistente con el sistema Recoge acciones comunes Ayuda a la navegación
  15. 15. Action Bar 1. Icono o logo 2. Control de vista / Título 3. Action Items 4. Menú
  16. 16. Action Bar
  17. 17. Up vs Back
  18. 18. Compatibilidad Las teclas hardware desaparecen, pero entonces...
  19. 19. Compatibilidad ¿Y qué ocurre con los móviles con teclas físicas?
  20. 20. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  21. 21. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  22. 22. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  23. 23. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  24. 24. Gestos Pulsar Mantener pulsado Deslizar (para desechar) Arrastrar Doble pulsación Pellizcar
  25. 25. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  26. 26. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  27. 27. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  28. 28. Notificaciones Avisos fuera de contexto Indicar acción en segundo plano Acceso rápido a acciones Parte fundamental de Android
  29. 29. Notificaciones sí... pero bien Ojo con el flujo ¿Cuándo debo lanzar una? Establece prioridad, sin ser egoísta 4.1+ Notificaciones enriquecidas 4.1+
  30. 30. Antipatrones Cómo NO hacer las cosas bien
  31. 31. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  32. 32. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  33. 33. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  34. 34. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  35. 35. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  36. 36. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  37. 37. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  38. 38. Diálogos o  No abuses de los diálogos o  Muchos casos son evitables o  De carga bloqueantes o  De error o  De promoción o  Toasts
  39. 39. Diálogos o  No abuses de los diálogos o  Muchos casos son evitables o  De carga bloqueantes o  De error o  De promoción o  Toasts
  40. 40. Diálogos o  No abuses de los diálogos o  Muchos casos son evitables o  De carga bloqueantes o  De error o  De promoción o  Toasts
  41. 41. Diálogos o  No abuses de los diálogos o  Muchos casos son evitables o  De carga bloqueantes o  De error o  De promoción o  Toasts
  42. 42. Diálogos o  No abuses de los diálogos o  Muchos casos son evitables o  De carga bloqueantes o  De error o  De promoción o  Toasts
  43. 43. ¿Cuándo usar diálogos? Consecuencias significantes Puede darle por error y no puede deshacerse
  44. 44. Lo que no se ve Más que buena
  45. 45. No todo es interfaz Estar al día Ser adivina Estar adaptada Comportarse suavemente
  46. 46. Cómo no agotar la batería Push vs Pull Más es menos Adapta tus descargas
  47. 47. Desarrollo Consejos sobre cómo mejorar el desarrollo
  48. 48. Entorno de desarrollo Haznos un favor, usa Maven o  Proceso de construcción estándar o  Enfocado en la automatización o  Convención sobre configuración o  Gestión de dependencias o  Pruebas https://code.google.com/p/maven-android-plugin/
  49. 49. Eclipse o IntelliJ IDEA Eclipse o  Soporte oficial o  Más conocido IntelliJ IDEA o  Mejor soporte Maven o  Utilidades para el desarrollo o  Más estable
  50. 50. Support Library v4 Fragment, ListFragment, DialogFragment FragmentManager, FragmentTransaction FragmentPagerAdapter, FragmentStatePagerAdapter, FragmentTabHost LoaderManager, Loader, AsyncTaskLoader, CursorLoader NotificationCompat, ShareCompat, TaskStackBuilder GridLayout v7 FragmentCompat, FragmentPagerAdapter FragmentStatePagerAdapter, FragmentTabHost v13
  51. 51. ActionBar Sherlock
  52. 52. Más librerías androidviews.net theultimateandroidlibrary.com
  53. 53. Ejecución de tareas Threads y Handlers o  Los viejos rockeros nunca mueren AsyncTask o  Probablemente la técnica más utilizada o  Ya no molan: ciclo de vida, ejecución en serie/paralelo, pérdidas de información,... Loaders & Services o  Yeah!
  54. 54. Opciones básicas de almacenamiento Shared Preferences o  Perfectas para las preferencias o  ¡Ojo! el resultado es un fichero XML, no abuses Internal Storage o  Privado para tu aplicación External Storage o  En principio visible para todos o  Comprueba siempre el estado
  55. 55. Opciones básicas de almacenamiento Shared Preferences o  Perfectas para las preferencias o  ¡Ojo! el resultado es un fichero XML, no abuses Internal Storage o  Privado para tu aplicación External Storage o  En principio visible para todos o  Comprueba siempre el estado Nunca uses rutas absolutas Usa los métodos que proporciona android
  56. 56. Bases de Datos Soporte completo de SQLite pero... ¿Porqué escribir SQL? ORMLite Hay muchas, muchísimas Si puedes usa ContentProvider o  Patrón fachada o  Puedes "publicar" tus datos o  Gestión de multi-hilo y conexiones
  57. 57. Datos externos Conectar o  java.net o  apache HTTP Client Consumir o  org.json o  org.w3c.dom o  org.xml.sax
  58. 58. Datos externos Conectar o  java.net o  apache HTTP Client ¡TRUCAZO! Para tratar HTML como XML Consumir tagsoup o  org.json ¡Viene incluido! o  org.w3c.dom o  org.xml.sax
  59. 59. Recursos Recursos everywhere!
  60. 60. Enlaces developers.android.com/design developers.android.com/develop youtube.com/user/androiddevelopers App Clini, ADiA, ... android-app-patterns.com androidniceties.tumblr.com androcode.es/tag/herramientas/
  61. 61. Enlaces developers.android.com/design
  62. 62. Enlaces developers.android.com/develop
  63. 63. Enlaces androidniceties.tumblr.com
  64. 64. Enlaces android-app-patterns.com
  65. 65. Enlaces androcode.es/tag/herramientas/
  66. 66. Libros
  67. 67. ¿Preguntas?

×