No olvidemos que existen diferentes puntos de partida desde las cuales podemos pensar una aplicación siendo managers, ingenieros y/o usuarios y es este último aspecto en el cuál nos concentraremos como desarrolladores para facilitar lo más posible la vida al usuario como responsables de las aplicaciones.

En los capítulos anteriores hemos revisado diversos temas muy importantes para el desarrollo de aplicaciones Flex para móviles los cuales te recomendamos ampliamente revisar a detalle:

Sin más recomendaciones por el momento, comencemos con la configuración de los permisos para nuestras aplicaciones!

Establecer Permisos para nuestras Aplicaciones

En el momento en el que desarrollamos una aplicación para BlackBerry PlayBook y en general para cualquier tipo de dispositivo móvil (Android o iOS) mediante Flash Builder, será necesario definir algunos permisos para que la aplicación pueda funcionar correctamente. Las aplicaciones de AIR contienen diferentes opciones que pueden ser resueltas desde la interface de Flash Builder al momento de definir un proyecto móvil.

Permisos y Configuraciones BlackBerry PlayBook

Entre las opciones disponibles podemos encontrar las siguientes:

Nombre Descripción
access_shared lectura y escritura de archivos compartidos
record_audio acceso al audio del micrófono
read_geolocation lectura de la posición del dispositivo
use_camera acceso a la cámara
access_internet uso de las conexiones a internet
play_audio reproducir una señal de audio
post_notification mandar notificaciones al usuario
set_audio_volume cambiar el volumen del audio del dispositivo

Todos estos permisos también están disponibles en un archivo XML llamado blackberry-tablet.xml asociado a la aplicación que podría tener un código similar al siguiente:

<?xml version="1.0" encoding="UTF-8"?>
  <qnx>
<initialWindow>
<systemChrome>none</systemChrome>
<transparent>false</transparent>
</initialWindow>
<author>Edgar Parada</author>
<authorId>ABC123456YjsnUk235h</authorId> -->
<icon>
<image>logo.png</image>
</icon> -->
<buildId>1</buildId>
<permission>access_shared</permission>
<permission>read_geolocation</permission>
<permission>use_camera</permission>
<permission>access_internet</permission>
</qnx>

AIR Descriptor

Cada aplicación de AIR requiere de un archivo llamado descriptor, es un simple documento XML que define varias propiedades de nuestra aplicaciones. Al utilizar Flash Builder no tendremos que preocuparnos por crear un descriptor de forma manual sin embargo es importante conocer al menos sus características principales.

Veamos un sencillo ejemplo del código de archivo de tipo descriptor:

<?xml version="1.0" encoding="utf-8" ?> 
  <application xmlns="http://ns.adobe.com/air/application/3.1"> 
<id>maestros.HolaMundo</id> 
<versionNumber>1.0.0</versionNumber> 
<filename>Hola Mundo</filename> 
<name>Ejemplo de Hola Mundo</name> 
<description> 
<text xml:lang="en">This is an example.</text> 
<text xml:lang="es">Esto es un ejemplo.</text> 
</description> 
<initialWindow> 
<title>Hola Mundo</title> 
<content> 
HolaMundo.swf 
</content> 
</initialWindow> 
<icon> 
<image16x16>icons/small.png</image16x16> 
<image32x32>icons/medium.png</image32x32> 
<image48x48>icons/big.png</image48x48> 
<image128x128>icons/bigger.png</image128x128> 
</icon> 
</application>

Versión Requerida de AIR

El atributo del elemento raíz es uno de los más importantes dentro del descriptor ya que especifíca la versión requerida del runtime de AIR que debe de estar instalada en la BlackBerry PlayBook a ejecutar las nuestras aplicaciones.

<application xmlns="http://ns.adobe.com/air/application/3.1">

Podemos revisar la versión de del runtime de AIR instalada en nuestro dispositivo desde las opciones generales:

Configuración AIR SDK

Por lo regular en una computadora de escritorio el usuario tienen la libertad de instalar la versión del runtime de AIR que necesite de manera independiente pero en el caso de BlackBerry PlayBook la versión depende de la actualización del sistema operativo. Algo que vuelve a BlackBerry Tablet OS un ambiente muy interesante para los desarrolladores de Flash es que es muy común encontrar las últimas versiones disponibles rápidamente.

Identidad de la Aplicación AIR

Los elementos id, versionNumber, filename, name y description sirven para definir la identidad de una aplicación AIR.

El id es una cadena que identifica a la aplicación, mejor conocida como application ID, hay ciertas restricciones de caracteres que pueden utilizarse pero en general es bastante flexible: 0–9, a–z, A–Z, puntos y guiones.

El atributo versionNumber especifica como su nombre lo indica la versión de la aplicación, es un elemento que es requerido y como ya lo habíamos comentado en la sección de tips de experto del capítulo de Componentes y Layout es oportuno volver a mencionar que hay que modificar la propiedad versionNumber asignada por defecto a 1.0.0 para hacerlo compatible con el modelo de desarrollo para PlayBook.

  • filename es la cadena que se utilizará como nombre del archivo de nuestra aplicación cuando se instala en el dispositivo, si no se especifíca también se utiliza como el nombre de la carpeta de instalación.
  • name es un atributo opcional pero se recomienda utilizarlo ya que es el título mostrado al momento de instalar la aplicación. Inclusive desde AIR 1.1, se puede especificar este valor para múltiples idiomas.
  • description como su nombre lo indica es la descripción de la aplicación que se muestra al momento de instalar la aplicación.

Configuración del Contenido Principal

El nodo initialWindow dentro del descriptor define la configuración del contenido principal de nuestras aplicaciones, para el contexto de una aplicación de escritorio tiene diferentes características pero al ser usado en un contexto para dispositivos móviles solamente son usadas: aspectRatio, autoOrients, content, fullScreen, renderMode y softKeyboardBehavior.

Configuración del Contenido Aplicaciones PlayBook

El aspectRatio especifica la relación de aspecto de la aplicación, puede tener valores de portrait o landscape y aunque la relación de aspecto varia entre dispositivos en el caso de PlayBook es más común utilizar landscape para nuestras aplicaciones.

Para el caso de autoOrients se refiere a cuando la orientación del contenido automáticamente se reorienta conforme cambia la orientación física del dispositivo. En el caso de activar esta opción sería una buena idea establecer los valores de align y scaleMode de stage a StageAlign.TOP_LEFT y StageScaleMode.NO_SCALE respectivamente.

El atributo content es la URL del archivo principal de la aplicación, es un valor asignado de forma relativa al folder de instalación de la aplicación. fullScreen como su nombre lo indica es una opción que permite forzar la aplicación a ejecutarse en modo a pantalla completa, por defecto esta opción esta seleccionada.

Para el caso de renderMode, es un valor que nos permite seleccionar el tipo de aceleración por hardware que tendremos si es que esta soportado por el dispositivo, no es recomendable utilizarlo en aplicaciones hechas con Flex sin embargo en el caso de juegos puede ser una buena alternativa.

Y en cuanto al último elemento relativo a aplicaciones móviles softKeyboardBehavior es un valor que afecta el comportamiento de la aplicación cuando se muestra el teclado virtual. Por defecto mueve la aplicación hacia arriba y deja en foco al campo de texto u objeto interactivo en pantalla.

Como pudimos ver son bastantes las opciones que tenemos disponibles al momento de definir el comportamiento de una aplicación móvil hecha con Flex para BlackBerry PlayBook, como desarrolladores de la plataforma es importante conocerlas y aprovechar sus diferentes posibilidades.

Tips de Experto

  • Una de las características más poderosas del desarrollo con AIR implica el uso de extensiones nativas (ANE) que son una combinación de ActionScript y código nativo que le permite al desarrollador extender las capacidades del runtime de AIR. Para comenzar a desarrollar extensiones nativas para BlackBerry PlayBook con AIR recomendamos el siguiente enlace.
  • La documentación del SDK de AIR para PlayBook ha sido actualizada recientemente y ya incluye una versión que podemos probar para el SDK 2.0 Beta, será interesante echarle un vistazo para probar las opciones que estarán disponibles para BlackBerry PlayBook a lo largo de 2012.