Alloy, el framework MVC para Titanium - Appmaster.es Alloy, el framework MVC para Titanium - Appmaster.es

Alloy, el framework MVC para Titanium

Alloy, el framework MVC para Titanium

Tras las fiestas de Navidad, el fin de semana pasado retomamos las clases del Máster en Mobile Business. Hemos empezado a trabajar con Alloy, un framework de Appcelerator para el SDK de Titanium, basado en la arquitectura Modelo Vista Controlador (MVC) y que integra soporte para Backbone.js y Underscore.js. Hay que recordar también que en la última semana de clases antes de Navidad empezamos a desarrollar una App de geolocalización, la cual quedo pendiente de mejorar.

Alloy MVC

Principales cambios entre Alloy y Titanium: paradigma MVC

Que Alloy sea un framework MVC significa que separa la aplicación en tres componentes diferentes:

  • Modelos: proporcionan la lógica de negocio, contienen las reglas, datos y estado de la aplicación.
  • Vistas: proporcionan al usuario los componentes de la interfaz gráfica, permitiendo representar los datos y también interactuar con el modelo.
  • Controladores: son el pegamento entre los modelos y las vistas de los componentes, es decir, la lógica de la aplicación.

Los modelos se definen en Alloy mediante un archivo JavaScript que exporta un objeto especial JSON. Este objeto usa una extensión de la funcionalidad de Backbone para personalizar modelos y colecciones. Las vistas en Alloy se construyen con los componentes de la IU de Titanium. Para definir vistas usamos lenguaje de marcado XML y para darle estilo a las mismas hacemos uso de hojas de estilo .tss, muy parecidas a .css pero específicas de Alloy Titanium. Los controladores generalmente tienen una relación de uno a uno con las vistas y hacen un uso directo de la API del SDK de Titanium. Un controlador en Alloy tiene acceso a todos los componentes de su vista.

Características y Ventajas de Alloy

  • Permite escribir hasta un 50% menos de código.
  • Modelos conectados a Servicio Web y/o Base de Datos local.
  • Permite utilizar código condicional en el modelo, la vista y el controlador según dispositivo, plataforma o entorno de desarrollo.
  • Alloy permite re-estilizar aplicaciones completamente a través de temas, permitiendo también estilos condicionales.
  • Al utilizar Alloy el paradigma MVC permite reutilizar código separándolo de la funcionalidad. Por ejemplo teniendo diferentes vistas según el dispositivo y manteniendo el controlador y el modelo sin cambios.
  • Uso de Widgets y gestión de eventos tanto en las vista como en el controlador.

Conectando modelos a datos

Después de la introducción teórica a Alloy tuvimos la oportunidad de ver de manera práctica dos ejemplos sobre como conectar estructuras de datos a los modelos de la aplicación.

Alloy framework

Primeramente trabajamos con un modelo conectado a una base de datos local SQL, se trataba de rellenar un ListView a partir de una colección de ciudades de la base de datos. Para terminar trabajamos con un modelo conectado a un servicio web, en este caso se trataba del mismo servicio web que el de nuestra App de geolocalización. Para este ejemplo se trataba también de rellenar un ListView pero esta vez extrayendo los datos de los participantes de la gincana del servicio web. La idea es que el listado contenido en la vista sea clicable y nos lleve a la posición en el mapa del participante seleccionado.

 

The following two tabs change content below.

Fran Gilberte

3 thoughts on “Alloy, el framework MVC para Titanium

  1. Pingback: Terminando con Titanium Alloy: proyecto de App de geolocalización | Máster Mobile Business

  2. David Villota

    buenas tardes queria preguntarle como hizo para extraer los datos del servicio web y conectarlos con titanium si puede comentarme su solucion se lo agradeceria que tecnologia utilizo o como lo hizo ??

    1. Fran Gilberte Post author

      Hola David,

      Los datos los consumiamos de un servicio web, un REST API preparado a tal efecto por el profesor que impartió el módulo Web Móvil. Concretamente los datos estaban encapsulados en JSON. Titanium Alloy permite dentro de nuestro modelo, a través de "exports.definition", vincularlo directamente con el servicio web y ya en el controlador implementado el método "getTransform(model)" ya tenemos acceso a los objetos ya serializados procedentes del REST API desde el controlador.

      Espero que te sirva.

Deja un comentario

Tu dirección de correo electrónico no será publicada.