Desde el 6 de enero está disponible gratuitamente en la App Store mi nueva aplicación, ‘My Game List’. Esta aplicación permite al usuario crear y mantener su propia base de datos sobre su colección de videojuegos así como llevar un seguimiento de aquellos que pudiera haber prestado a sus amigos. Aprovechando sus diferentes características técnicas iré escribiendo tutoriales para que los lectores del blog puedan ponerlo en práctica en sus propias aplicaciones. Después del salto os cuento algunas de dichas características.
En la vista principal tenemos una vista de tabla (UITableView) cuyo diseño es personalizado y además encontramos también que las celdas de la tabla también han sido personalizadas para poder mostrar una imagen representativa (UIImageView), la valoración que el usuario le ha dado al juego así como cuatro etiquetas (UILabel) para mostrar título, compañía, plataforma y si el juego ha sido prestado o no.
Además en la tabla tenemos un campo de búsqueda que nos permite hacer ‘live search’, esto es, mostrar los resultados en tiempo real según el usuario va tecleando. Cuando haga el tutorial acerca de este tipo de búsqueda veremos que hay que tener cuidado al implementarla para que no afecte a la experiencia de usuario ya que la concurrencia de la búsqueda y la representación de las celdas puede provocar una latencia apreciable en la interfaz (cosa que no nos gusta a los usuarios ni tampoco a Apple).
En la base de la aplicación vemos que tenemos una barra de pestañas (UITabBar) que nos permite cambiar entre las diferentes secciones de la aplicación, a saber: Mis juegos, Mi ‘wishlist’ y los créditos de la app.La información se almacena utilizando Core Data, el Framework de iOS y OS X para almacenamiento persistente de datos entre otras tareas.
Si pulsamos el botón + accederemos a la vista modal de adición de elementos, donde podréis ver primero que es desplazable verticalmente (UIScrollView) y que en función del campo elegido, se despliega un teclado o dos tipos de pickers diferentes (UIDatePicker para fechas y UIPickerView) y al mismo tiempo se coloca el campo elegido en el centro del espacio disponible en la vista.
Aquí podremos agregar también una imagen a nuestra ficha, para lo cual se le da a elegir al usuario si quiere tomarla de la cámara o si prefiere cogerla de su carrete. Ya veremos más adelante que es importante analizar qué tipo de dispositivo tiene el usuario ya que no podemos asumir que tenga cámara (los modelos antiguos y el simulador no la tienen, por ejemplo). La aplicación le permite al usuario elegir el formato cuadrado que quiera que sea la imagen de la ficha en la tabla. Desde aquí se puede indicar si este juego ha sido prestado a alguien, ofreciéndonos la opción de introducir sus datos a mano o bien eligiendo a alguien de nuestros contactos. Es importante elegir el formato adecuado así como la calidad de la compresión de las imágenes ya que imágenes muy pesadas y con calidad de compresión 1.0 (el máximo) se harán muy pesadas al mostrarlas en las diferentes fichas pero también hara que el scroll de la tabla sea lento. Recordad que antes dijimos que era importante tener en cuenta estas cuestiones para evitar arruinar la experiencia del usuario.
Este mismo NIB (fichero XML creado por Interface Builder en Xcode para ayudarnos a construir la interfaz de las aplicaciones) es el que utiliza la aplicación para editar cualquier elemento de la tabla.

Pulsar el botón de edición nos permite acceder a los datos previamente introducidos para modificarlos
Luego está la vista detalle, a la que accedemos pulsando sobre cualquier celda de la tabla. Es otra vista a la que el UINavigationController nos lleva mediante “push”. En esta vista se muestran los datos del juego y, si ha sido prestado, una indicación de a quién y cuándo fue prestado, pudiendo enviar también un E-Mail recordatorio a esta persona para que nos lo devuelva.
Y básicamente esto es My Game List. En esta entrada he ido mencionando nombres de clases, un poco la ‘jerga’ que se emplea al desarrollar para iOS y he desgranado brevemente los diferentes temas que vamos a tratar en futuros tutoriales basándonos en esta aplicación. Actualmente la versión pública es la 1.1, que incluye respecto a la 1.0 el idioma español y la corrección de algunos bugs. La 1.1.1 está en camino con algunas de las sugerencias que me habéis comentado así como los fallos que habéis encontrado.
Cualquier comentario, duda, bug o sugerencia que tengáis sobre My Game List será muy bien recibida. Podéis descargar My Game List pulsando en el logo de la App Store a continuación:






