domingo, 11 de noviembre de 2012

Consideraciones previas en una arquitectura para móviles


Este artículo forma parte de una serie de artículos donde iré explicando las distintas arquitecturas que tenemos disponibles a la hora de desarrollar para móvil.


A la hora de elegir una arquitectura de desarrollo para móvil es necesario tener en cuenta una serie de aspectos, como son: conectividad, almacenamiento, limitaciones del procesador, estándares, opciones de despliegue, usuarios potenciales… sin olvidar otros típicos como escalabilidad, mantenibilidad o extensibilidad. Todos estos factores servirán como punto de partida a la hora de tomar una decisión arquitectónica.



A continuación se comentan los aspectos más relevantes.

Conectividad


Aplicaciones móviles son por defeinición, móviles, es decir, el usuario no está conectado a un punto de red fijo, sino que mientras se mueve va cambiando y puede que en ciertos momentos se encuentre con una conexión nula o inexistente.

A pesar de que las tecnologías inalambricas han evolucionado mucho en los últimos años, no se puede esperar que un usuario móvil vaya a estar “siempre conectado”, como mucho se puede esperar que este “casi siempre conectado”.

 Acceso al dispositivo.


Con esto nos referimos al echo de poder acceder desde nuestra aplicación a funciones propias del smartphone o dispositivo, como son el GPS, acelerometro, agenda, camara y demás.

Algunas arquitecturas permitirán acceder a todas estas opciones, mientras que otras solo permiten acceder a algunas o incluso a ninguna. Por eso es importante tener siempre en mente como de importante es para nosotros y para nuestra aplicación el acceso al dispositivo y a sus funciones.

Usabilidad


A la hora de diseñar el interfaz de una aplicación para móvil, tenemos que ser mucho más cuidadosos, si cabe, que cuando lo hacemos para una aplicación de escritorio o web, ya que  nos encontramos ante pantallas de pequeño tamaño, multitáctiles, con métodos de entrada disitintos a los tradiciones y en definitiva, unas limitaciones y posibilidades que pueden llevar a nuestra aplicación al fracaso o al exito

Rendimiento


Un aspecto muy a tener en cuenta es como de importante es para nuestro objetivo el rendimiento que tenga la aplicación. Está claro que si queremos desarrollar un juego de coches, el rendimiento es muy importante y por tanto seguramente deberemos pensar en aquellar arquitecturas que permiten sacar el máximo potencial de cada dispositivo.

 Seguridad


Las aplicaciones para móviles estan dejando de ser un simple entreteniemiento para convertirse en una parte importante de nuestro día a día, llegando a tener presencia en operaciones clave donde la seguridad es crucial, como emails, bancos o simples aplicaciones de compra y venta donde tenemos almacenados datos bancarios… Esto hace que en nuestra elección sea importante valorar hasta que punto sera necesaria una seguridad robusta con características como autenticación, encriptación o control de acceso.

No hay comentarios:

Publicar un comentario