Buenas prácticas en el desarrollo Android - Imaginática 2013
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 961 views

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 ...

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.

Statistics

Views

Total Views
961
Views on SlideShare
961
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 1. Buenas prácticas en el desarrollo Android
  • 2. ¿Quiénes somos? Androcode.es
  • 3. Cómo desarrollar aplicaciones para Android Principios básicos
  • 4. Principios básicos Java y Dalvik Activities, Services, Intents, ... Recursos (la clase R)
  • 5. Cómo desarrollar buenas aplicaciones para Android
  • 6. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  • 7. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  • 8. Encántame Sorprende al usuario Los objetos reales son más divertidos Permite la personalización Aprende del usuario
  • 9. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  • 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. Principios de diseño Encántame Simplifica mi vida Hazme asombroso
  • 12. Hazme asombroso Proporciona trucos Sé educado y claro Divide tareas complejas Haz tú el trabajo pesado Las cosas importantes hazlas rápido
  • 13. Patrones de diseño
  • 14. Action Bar De los elementos más importantes Consistente con el sistema Recoge acciones comunes Ayuda a la navegación
  • 15. Action Bar 1. Icono o logo 2. Control de vista / Título 3. Action Items 4. Menú
  • 16. Action Bar
  • 17. Up vs Back
  • 18. Compatibilidad Las teclas hardware desaparecen, pero entonces...
  • 19. Compatibilidad ¿Y qué ocurre con los móviles con teclas físicas?
  • 20. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 21. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 22. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 23. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 24. Gestos Pulsar Mantener pulsado Deslizar (para desechar) Arrastrar Doble pulsación Pellizcar
  • 25. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 26. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 27. Gestos Pulsar Mantener pulsado Deslizar Arrastrar Doble pulsación Pellizcar
  • 28. Notificaciones Avisos fuera de contexto Indicar acción en segundo plano Acceso rápido a acciones Parte fundamental de Android
  • 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. Antipatrones Cómo NO hacer las cosas bien
  • 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. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  • 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. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  • 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. Interfaz iOS Botón atrás o salir Controles brillantes Iconos copiados Pestañas en la parte baja Flechas en elementos de listas
  • 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. 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. 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. 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. 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. 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. ¿Cuándo usar diálogos? Consecuencias significantes Puede darle por error y no puede deshacerse
  • 44. Lo que no se ve Más que buena
  • 45. No todo es interfaz Estar al día Ser adivina Estar adaptada Comportarse suavemente
  • 46. Cómo no agotar la batería Push vs Pull Más es menos Adapta tus descargas
  • 47. Desarrollo Consejos sobre cómo mejorar el desarrollo
  • 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. 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. 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. ActionBar Sherlock
  • 52. Más librerías androidviews.net theultimateandroidlibrary.com
  • 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. 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. 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. 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. Datos externos Conectar o  java.net o  apache HTTP Client Consumir o  org.json o  org.w3c.dom o  org.xml.sax
  • 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. Recursos Recursos everywhere!
  • 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. Enlaces developers.android.com/design
  • 62. Enlaces developers.android.com/develop
  • 63. Enlaces androidniceties.tumblr.com
  • 64. Enlaces android-app-patterns.com
  • 65. Enlaces androcode.es/tag/herramientas/
  • 66. Libros
  • 67. ¿Preguntas?