Arquitecturas de aplicaciones moviles

arqui1

 

En artículos anteriores hablamos acerca de los diferentes tipos de aplicaciones móviles, sus ventajas, sus características, que lenguaje había que usar, quizás se escapo uno que otro lenguaje, también sobre las plataformas sobre las cuales funcionan entre otras cosas. Pero ahora enfatizaremos en lo cual nombramos en ese articulo lo cual es, las arquitecturas las cuales se suelen usar para el desarrollo de aplicaciones.

las arquitecturas implementadas en el desarrollo de aplicaciones móviles, se debe a el tipo de información el cual se valla a impartir; recordando que a la hora de desarrollar aplicaciones móviles, hay que tener lo que la escalabilidad y todas sus ventajas. las aplicaciones móviles según la información que imparten se dividen en dos grupos, aplicaciones móviles autocontenidas y las aplicaciones con conexión a Internet.

 

Aplicaciones móviles autocontenidas

 

En este tipo de aplicaciones el contenido es estático, sus imágenes, su información, sus menús,casi nunca cambia o rara vez lo hace. Esto es debido a que todo su contenido se encuentra autocontenido dentro de la misma aplicación, no necesita valerse de una herramienta o un servicio para funcionar.

Este tipo de aplicaciones son del tipo nativo, debido a que este brinda una seria de herramientas y posibilidades a la hora de desarrollar la aplicación móvil de este tipo, un ejemplo de este tipo de aplicaciones seria por ejemplo una calculadora desarrolla para ya sea para Android, iOS, Windows Phone, entre otros; la aplicación no tiene necesidad de cambiar los números debido a que los números son los mismos siempre, la información puede ser suministrada a través de una manual en alguna función o opción del menú, y si necesita brindar herramientas como tema puede predeterminar colores tamaños y demás cosas al respecto.

 

Ventajas

  • Su desarrollo puede resultar sencillo.
  • No hay que hacer gastos en lo que son servicios de hosting, bases de datos, entre otros.

 

Desventajas

  • Si un día decide actualizar la información en dicha aplicación, debe compilar el código nuevamente y subirla a la plataforma la cual estaba siendo distribuida.
  • Si la información que es utilizada por la aplicación es demasiada, puede ser que la aplicación necesite cambios periódicos lo que podría volverla inviable.

 

Aplicaciones móviles con conexión a Internet 

 

En este tipo de aplicaciones la información esta alojada en un back-end, el cual cuenta con una base de datos la cual contiene la información, que accedida a través de un API de servicios web, entre los cuales los mas usados suelen ser SOAP o REST, los cuales comunican a la base de datos con el front-end de la aplicación, que es donde se puede ver la información solicitada.

Un ejemplo claro es las aplicaciones de las redes sociales, como por ejemplo facebook y/o twitter, aplicaciones de mensajería instantánea como lo son Line, Viber, Wechat, Wassap;  necesitan el servicio de Internet para poder acceder a información especifica o realizar alguna acción. Dentro de este tipo de aplicaciones, se encuentran dos tipos, los cuales son con descarga de información estática y con información dinámica.

Aplicaciones móviles con descarga de información estática.

 

Cuenta con un archivo en formato XML o otro formato que se utilice, que se modifica de forma manual cada que se requiera cambiar información.

 

Ventajas

  • No hay que publicar una versión nueva cada que se requiera dar a conocer una nueva información.

 

Desventajas

  • Requiere un gasto para implementar  una base de datos, hosting, entre otros.
  • Si la información modificada es errónea, entonces se tendría que corregir dicha información hasta que sea al correcta.

 

Aplicaciones móviles con información dinámica.

 

Este tipo de aplicaciones se llama así, debido a que la información esta almacenada en una base de datos la cual esta alojada en un servidor y que se accede a esta a través de servicios API los cuales comunican a la base con la interfaz de la aplicación.

 

Ventajas

  • Los cambios se realizan de manera fácil, solo contando con conocimientos básicos.
  • Permite editar la información en la base de datos a través de una plataforma especifica.
  • Cualquier personas con permisos especiales,  puede realizar tareas desde cualquier lugar.

 

Desventajas

  • El coste suele ser mayor, debido a que hay que contratar personal para el desarrollo web.
  • Existe un coste también a la hora de contratar alguna empresa de hosting.
  • El desarrollo de la aplicación es mas complejo.