Vista de alto nivel - AndroidesPixelados/gestor-partidas GitHub Wiki

El objetivo de este documento es el de presentar en alto nivel la estructura de la aplicación así como la tecnología utilizada en ella, desde el punto de vista de la implementación.

Hemos dividido la aplicación siguiendo la metodología habitual de una aplicación Java EE: vista, controlador y modelo. En este caso, la vista es, por supuesto, la interfaz nativa de android. El modelo sirve como interfaz a los datos, que son manipulados a través de una capa de persistencia basada en DAOs y MyBatis por detrás. Se nota que usamos Java en nuestra vida laboral, ¿verdad? ;)

Puesto que la aplicación debe ayudar a la ejecución de una partida de rol, y existen distintos sistemas jugables posibles para la ejecución de la misma, el sistema debe ser adaptable. Para ello, hemos adoptado el enfoque de modularizar el código. Por cada sistema jugable, se implementa un módulo, que presenta sus propias vistas particulares así como el comportamiento asociado a las mismas. También implementa su modelo de datos particular, aunque mayormente todos los módulos van a usar las mismas tablas. Lo bueno de organizar el código en módulos es que distintas personas pueden participar en la creación de los mismos sin afectar a los demás.

Por supuesto, existe parte común (mayormente todas aquellas partes que no impliquen mecánica jugable alguna, como la gestión de los recursos multimedia o narrativos). Esa es común a todos los módulos, aunque dejamos la puerta abierta a que cada módulo implemente sus propias pantallas al respecto.

La aplicación intenta seguir lo más cerca posible las convenciones visuales y de usabilidad de una interfaz estándar Android, para facilitar el uso al usuario, acostumbrado a la misma (una versión para iPad seguiría las normas de iOS, claro).