Guía para NO naufragar en el mar de las APPs II

En el anterior artículo veíamos la diferencia entre una aplicación web, multiplataforma o nativa. Hoy vamos a analizar muy por encima cómo funciona una aplicación, y de qué partes se compone. Podríamos enfocar esto desde distintas aproximaciones, pero nosotros, para empezar, vamos a distinguir entre interfaz de usuario, lógica y datos.

bus_mortadeloComo su propio nombre indica, la interfaz gráfica se trata de la parte que interacciona con el usuario, lo que nosotros vemos cuando utilizamos una aplicación. Entendamos por interfaz no solo la parte gráfica propiamente dicha, las animaciones, imágenes, etc; sino también, por ejemplo, el texto que estás leyendo ahora mismo forma parte de la interfaz del blog. La lógica se refiere a las funciones que se aplican a los datos para obtener un resultado. Por ejemplo, imaginemos un juego. A los datos sobre la posición de mi personaje, junto con el dato que se genera cuando pulso el botón de avanzar, se les aplican una serie de algoritmos que resultan en que mi personaje del juego da un paso. O sin ir más lejos, cuando consulto la aplicación del transporte público, esta obtiene los datos de la posición de los autobuses y la estimación del tiempo que queda. Esa información es procesada y a nosotros se nos muestra en la interfaz de usuario que debemos correr porque solo faltan 2 minutos para que pase, y el siguiente tardará otros 15 minutos.

El siguiente paso es entender dónde se almacenan y procesan estos datos. Aquí es donde introducimos la arquitectura de clienteservidor. Es posible que todos los datos se almacen en el dispositivo y toda la lógica se haga en este, pero no es habitual. Un ejemplo podría ser una aplicación de un juego sencillo que no interactúa con nada, no envía puntuaciones, ni podemos compararnos con nuestros amigos.

Diagrama de distribución cliente-servidor. Múltiples clientes de distintos tipos están conectados al mismo servidor que se encuentra en la nube.

Diagrama de distribución cliente-servidor. Múltiples clientes de distintos tipos están conectados al mismo servidor que se encuentra en la nube.

Lo normal es dividir el trabajo entre el cliente y el servidor. El cliente es la aplicación que instalamos en nuestro móvil, que se conecta al servidor, alojado en la nube y totalmente transparante para el usuario. El cliente enviará información al servidor, y recibirá a su vez de este los resultados que se mostrarán en la interfaz de usuario. El ejemplo más claro es un cliente de correo. Nuestros mensajes están almacenados en un servidor, pongamos por ejemplo los servidores de Gmail. Cuando nosotros entramos a Thunderbird -por decir uno-, la aplicación pregunta al servidor si tenemos nuevos correos, y los obtiene si los hay. Si me permitís barrer hacia casa para el siguiente ejemplo, veamos cómo funciona la App de Tempo Finito Live. El participante inicia esta aplicación en su móvil, que permite tenerle localizado y seguirle durante la carrera, así como detectar cualquier problema, desvío o accidente. La aplicación cliente obtiene información sobre la posición geográfica y la envía al servidor. En el servidor se procesa y se comprueba que no haya ningún problema, y los datos de seguimiento del corredor son guardados. De esta forma la organización de la carrera, o sus amigos, puede utilizar una aplicación web cliente que les permite ver en todo momento dónde está y qué ruta ha seguido.

Casi la totalidad de las aplicaciones que utilizamos a diario funcionan de esta manera. Vivimos en un mundo conectado y sería absurdo no aprovechar las posibilidades que esto nos ofrece.

Compartir:

0
Shares