Aprendiendo Android: Lecciones aprendidas (I) con Apatxas

Hace algún tiempo que quería aprender Android y el no estar trabajando me ha permitido poder dedicar más tiempo a ello.
Empecé con los siguientes cursos en Coursera:


La verdad es que están bien a modo de introducción pero yo personalmente no consigo sacar toda la chicha que me gustaría hasta que no me pongo manos a la obra.
Hasta ahora había hecho pequeñas pruebas y funcionalidades que no iban a ningún sitio y terminaba cansándome y no llegaba a ningún puerto. Así que me puse un objetivo: publicar una app en Google Play.

Me "inventé" una aplicación: Apatxas. La idea es sencilla: repartir los gastos compartidos entre varias personas. Pensé en esas veces en las que salimos de vacaciones con amigos o estamos compartiendo piso: vamos generando gastos, que a veces pagan unos y a veces otros y luego llega el momento de hacer las cuentas.

Me puse manos a la obra y este es el resultado:

Apatxas, compartiendo gastos


Lecciones aprendidas
He aprendido mucho, pero quiero destacar las siguientes lecciones que me servirán para no cometer los mismos errores en mi segunda aplicación (que aún me quedan muchas cosas de Android por aprender):

  • Quien mucho abarca poco aprieta.
Lo primero que hice fue mirar los porcentajes de terminales utilizando las diferentes versiones de android (https://developer.android.com/about/dashboards/index.html). Me propuse abarcar muchos terminales, desde Froyo (API 8) en adelante. Me fui encontrando con varias limitaciones originadas en la versión del api elegida y finalmente me di cuenta de que mi objetivo no era llegar a mucha gente ya que mi aplicación es para aprender (y si de paso a alguien le sirve perfecto). Así que después de muchas vueltas y de rehacer parte del código di un salto a la versión Ice Cream Sandwich (API 15).
Por lo tanto, si el objetivo de la app no es vender debo centrarme en las últimas versiones, en las que ya hay soporte para el desarrollo de muchas funcionalidades que de otro modo tendría que rehacer.

  • La apariencia importa
Es importante tener una app que sea homogénea con el resto de aplicaciones Android. Estamos acostumbrados a hacer las cosas de una determinada manera y a visualizarlas de una forma homogénea en la mayoría de las apps. La guía de estilos de Material Design me ayudó mucho. Fue algo que no hice hasta tener empezada la aplicación y luego tuve que dar vueltas para cambiar muchas cosas.
Así que, debo elegir los iconos adecuados, los colores y poner atención en los tamaños y márgenes. Intentar centralizar estos valores para no tener que recorrer todo el código cada vez que queramos cambiar uno de ellos.

  • El tiempo importa, las pruebas también
Empecé haciendo pruebas en el emulador y desesperé por la pérdida de tiempo. Finalmente decidí que era mejor  probarlo en mi terminal, así que he estado probando directamente en mi móvil.
Sin embargo, no hay que olvidar que para cada versión hay un comportamiento diferente o no soportado que hay que revisar. Cuando ya casi había dado por terminada la aplicación lo probé en una tablet con diferente versión y había funcionalidades que no hacían lo que debían y apariencia que no era como debía.
Por lo tanto, durante el desarrollo voy a utilizar mi terminal, pero para cada funcionalidad completada haré pruebas en diferentes versiones de Android. Para ello utilizaré GENYMOTION. Durante las pruebas es importante rotar el terminal ya que en ocasiones hay comportamiento no deseado. 

  • Feedback
Buscaré feedback en personas cercanas, tanto usuarios habituales de aplicaciones en el móvil como de desarrolladores Android (thx! Sergio!!). Es algo que creo que me ha dado buen resultado. 

Y aunque el número de mejoras que me llega es importante, de momento mi objetivo está cumplido: he aprendido un montón de cosas de Android. Ahora aplicación nueva para aprender cosas nuevas. De todos modos, cuidaré con mimo mi primera app y iré añadiendo mejoras poco a poco.

0 comentarios:

Publicar un comentario