WATCH KIT APPS A FONDO

En el anterior artículo sobre WatchKit vimos que una aplicación desarrollada para el Apple Watch necesitaEn el anterior artículo sobre WatchKit vimos que una aplicación desarrollada para el Apple Watch necesita dos componentes:

  • WatchKit app es el ejecutable que correrá en el Apple Watch y que contendrá los storyboards y los archivos necesarios para renderizar las distintas pantallas.
  • WatchKit extension es el ejecutable que correrá en el iPhone. Dicho ejecutable contiene el código fuente y los recursos para controlar las pantallas de la aplicación y, además, es el encargado de manejar las interacciones del usuario.

Ambos componentes necesitan trabajar conjuntamente para configurar la interfaz mostrada al usuario. Los pasos dados por una aplicación cuando un usuario interactúa con ella son, típicamente, los siguientes:

  1. El usuario interactúa con la WatchKit app.
  2. La WatchKit app analiza la interacción y selecciona el storyboard que manejará dicha interacción.
  3. WatchKit se comunica con el iPhone para ejecutar la WatchKit extension.
  4. La WatchKit extension inicializa y crea los objetos necesarios para proveer con dichos recursos al storyboard de la WatchKit app.
  5. El storyboard genera la escena a partir de los objetos creados por la WatchKit extension y se muestra en el Apple Watch.
  6. La WatchKit app y Eatchkit compartirán información hasta que el usuario deje de interactuar con la aplicación. En ese momento iOS suspenderá la WatchKit extension hasta que haya una nueva interacción.

El siguiente diagrama ilustra el proceso:

WatchKit app architecture

Un concepto importante del anterior proceso es la manera en que lo storyboards responden a la interacción del usuario y configura la escena. Esto es gracias a los interface controller (instancias de WKInterfaceController), que son equivalentes s los view controllers de las aplicaciones iOS.

La diferencia con los view controllers es que los interface controllers no manejan las actuales vistas en pantalla, ya que WatchKit realiza esa tarea de manera transparente. Normalmente, una WatchKit app contiene varios interface controllers que visualizaran diferentes tipos de datos pero solo uno de ellos será mostrado cada vez.

Ciclo de vida de una WatchKit app

Una WatchKit app puede ser lanzada de tres diferentes maneras:

  • El usuario toca el icono de la pantalla de inicio del Apple Watch.
  • El usuario interactúa con el glance de la aplicación.
  • El usuario interactúa con las notificaciones.

Cada una de las anteriores opciones inicia la WatchKit app y su WatchKit extension. Dependiendo de cuál de los casos ocurre, WatchKit configura la escena usando el storyboard correspondiente y pide a la WatchKit extension que inicie el correspondiente interface controller.

El siguiente diagrama ilustra dicho proceso:

Launching WatchKit App

Como se puede ver, las instancias de interface controller manejan las interacciones en la interfaz de usuario.

La WatchKit extension está activa mientras el usuario interactúa con la aplicación en el Apple Watch. Una vez el usuario para de interactuar o sale de la aplicación, iOS desactiva el actual interface controller y suspende la extension. Como dichas interacciones entre el usuario y el Apple Watch son típicamente breve, el interface controller debe contener poca lógica de negocio y realizar tareas rápidas.

El siguiente diagrama ilustra dicho proceso:

Interface controller lifecycle

Este artículo fue originalmente publicado por Jorge Jordán en Chupamobile.com.

@jjordanarenas

This post was initially published in http://insaneplatypusgames.com/2014/12/26/apple-watch-kit-app-a-fondo/

Leave a Reply

Your email address will not be published. Required fields are marked *