Arquitectura de las aplicaciones móviles online

Arquitectura de las aplicaciones móviles online

Arquitectura de Aplicaciones Online

Introducción a la Arquitectura

  • Se inicia el enfoque en la arquitectura de aplicaciones online, dejando las aplicaciones offline para el final del curso.
  • Se establece una comparación entre un servidor y un cliente, donde el servidor aloja la aplicación web y el cliente utiliza un navegador para acceder a ella.

Interacción con Dispositivos Inteligentes

  • La necesidad de implementar soluciones específicas para Smart devices se justifica por la interacción deseada con funcionalidades nativas como contactos y calendario.
  • Se menciona que los objetos que procesan datos pueden ser consumidos por otros programas mediante Rest web Services, creando una capa de servicios.

Arquitectura REST

  • Los servicios expuestos como APIs permiten acceder a recursos a través del protocolo HTTP utilizando métodos como GET, PUT y DELETE.
  • Ejemplo práctico: Un Data Provider puede devolver información sobre países en formato JSON al cliente.

Metadata y Construcción de Interfaces

  • La metadata contiene información necesaria para construir interfaces en dispositivos inteligentes, incluyendo dashboards y URIs de web services.
  • Esta metadata permite armar la interfaz adecuada en respuesta a las acciones del usuario en su dispositivo.

Prototipado con KBN

Uso del KBN

  • El KBN es una aplicación nativa creada por GeneXus que actúa como un navegador especial para aplicaciones diseñadas para Smart devices.
  • Permite navegar usando URLs correspondientes a objetos Main consignados en la metadata, facilitando el trabajo con entidades y relaciones.

Lógica del KBN

  • El KBN interpreta la metadata desde la URL correspondiente, accediendo también a imágenes e invocando web services necesarios.
  • Al interactuar con opciones dentro de la metadata, se obtienen URIs o URLs que ejecutan recursos específicos como Data Providers.

Ejecución de Servicios REST

  • Cuando se selecciona un país (por ejemplo, Uruguay), se llama al Data Provider correspondiente que devuelve información consultando la base de datos.
  • En caso de realizar operaciones como update o delete desde una lista, se invoca el business component adecuado que gestiona estas acciones sobre la base de datos.

Opciones para el Desarrollo de Aplicaciones en Dispositivos Móviles

Elección del Método de Desarrollo

  • La opción más adecuada para el desarrollo en Android es utilizar aplicaciones compiladas, ya que los intérpretes como KBN limitan la interacción con las funcionalidades del dispositivo.
  • En situaciones donde no se puede compilar una aplicación, como en un iPad sin herramientas adecuadas, se sugiere siempre optar por una aplicación compilada para prototipar.

Compilación y Formatos de Archivo

  • Cada plataforma de dispositivos inteligentes tiene su propio lenguaje y extensión para archivos compilados; por ejemplo, Android utiliza el formato APK.
  • El archivo APK debe descargarse e instalarse en el dispositivo, eliminando la necesidad del intérprete KBN al encapsular toda la metadata y lógica necesaria.

Proceso de Compilación

  • Para compilar una aplicación en Android utilizando C#, se debe especificar el objeto de inicio (startup object), que en este caso sería "dashboard".
  • Al presionar F5 durante la compilación, solo se generará el objeto dashboard sin abrir un navegador ni mostrar un menú de desarrollador.
Video description

Se estudia la arquitectura de las aplicaciones móviles que requieren estar conectadas a internet para funcionar. La de las aplicaciones que funcionan también parcial o totalmente desconectadas se estudia en otro video. Se ven las dos alternativas para la prototipación: ejecutar la aplicación interpretada a través del Knowledge Base Navigator, o instalar y ejecutar la aplicación compilada. Función e la metadata. Se mencionan las formas de obtener el compilado, que se pueden ver en la práctica, en el video "Demo: dos formas de obtener y ejecutar el compilado de la aplicación móvil".