Jugando con AIR 2 beta 2
Hemos hablado en diferentes posts de las caractarísticas de lo que será AIR 2. De momento ya tenemos disponible la beta 2 y con ésta he querido experimentar algunas de sus características. En este artículo veremos algunas de estas características mediante una aplicación de ejemplo y así probar parte de lo que nos aportará la nueva versión de AIR.
Introducción
Hemos posteado anteriormente este artículo en el que comentamos lo que nos aporta AIR 2. En la beta 2 de AIR 2, las mejoras que se recogen, a “grosso modo”, son las siguientes:
- Mejoras en el Print Job para tener un control mayor de la impresión desde AIR.
- Sockets TLS/SSL, que nos permiten conectar a servidores que requieran TLSv1 o SSLv3.
- Soporte para acceso a Flash, así podremos reproducir contenido protegido.
- Mejoras en la API IME, diseñada para usar con el nuevo Flash Text Engine (FTE).
Información, descarga e instalación de la beta 2
En el siguiente link encontrareis la página de AIR 2, con toda la información que necesiteis y explica como descargar e instalar en cualquier sistema operativo.
Probando AIR 2
Para probar algunas de las características de AIR 2, he desarrollado una aplicación que contiene un tab navigator. Cada uno de sus tabs contiene una de las posibilidades de AIR 2 analizadas. Aquí os dejo el proyecto para que lo podais probar y trastear. Descomprimidlo y tendreis el proyecto FXP para importar directamente:
AIR2Enhancements.fxp
Detección de soportes de almacenamiento y apertura con la aplicación por defecto.
Algo que encontrábamos a faltar hasta ahora en AIR era la posibilidad de acceder a dispositivos de almacenamiento. AIR 2 es capaz de detectar estos dispositivos y acceder a ellos. Para ello, debemos tener en cuenta 2 clases:
- StorageVolumeInfo: Es una clase singleton que reconoce los cambios en estos dispositivos. Cuando hay algun cambio, lanza un evento de tipo StorageVolumeChangeEvent. Podemos controlar dos tipos de eventos: storageVolumeMount y storageVolumeUnmount.
- StorageVolume: encapsula la información del dispositivo.
Con estas clases podremos ver la información que nos apetezca del dispositivo.
Por otra parte, la API de la clase File tiene un método llamado openWithDefaultApplication(), que nos permite abrir el fichero con el programa que tiene asignado por defecto el sistema operativo.
En la siguiente imagen vemos el primer tab de la aplicación que muestra los soportes de almacenamiento. Nos permite navegar por todos ellos y también podremos abrir los documentos con la aplicación por defecto:

File promises
File promises es una nueva API que nos permite acceder a ciertas URL’s y arrastrarlas fuera de la aplicación AIR para que se guarden en nuestra máquina local. La clase URLFilePromise se encarga de hacer esta operación mediante la implementación de la interface IFilePromise y usando URLStream y URLRequest.
Para crear una file promise, mediante la clase URLFilePromise, pasamos al clipboard el array de file promises deseadas. Cuando se termina el proceso de drag and drop hacia la máquina local, el runtime descarga los datos para cada file promise. A continuación vemos una imagen de ejemplo de nuestra aplicación:

Native process execution
Con esta API se nos permite interactuar con procesos nativos del sistema operativo. Para realizarlo, las siguientes clases nos dan esta capcidad:
- NativeProcess: tiene la capacidad de lanzar procesos en el sistema operativo en el que se alberga la aplicación.
- NativeProcessStartupInfo: proporciona información básica que nos servirá para lanzar un proceso en el sistema operativo.
- NativeProcessExitEvent: este evento se lanza una vez termina el proceso. Puede ser que no se lance nunca si es que estamos ejecutando un proceso contenido en la misma aplicación AIR.
Para probar esta característica y debido a que estamos usando una versión beta de AIR 2, debemos insertar este tag en el fichero descriptor de la aplicación:
He codificado la aplicación de manera que controle en qué sistema operativo nos encontramos y sólo nos deje lanzar una de las aplicaciones, la que soporte nuestro SO. Aquí va una captura para ver como se lanza una aplicación nativa:
Network interfaces
Un ordenador tiene diferentes interficies de red. Con AIR 2.0 podemos acceder a esta información mediante la clase NetworkInfo. Esta clase nos permite obtener información como por ejemplo: la IP local y las interficies de red. En la siguiente imagen vemos el resultado:
Resolución de DNS
Como sabemos, cada dominio de la red tiene una IP asociada. Un DNS hace la conversión entre los nombres de dominio y las direcciones IP.
AIR 2.0 nos proporciona una DNSResolver, la cual nos permite preguntar a DNS. Cuando se obtiene la información, se nos notifica mediante un evento de tipo DNSResolverEvent.
Una IP puede ser de tipo IPv4 (32-bits) o IPv6 (64-bits). El AIR actual sólo soporta IPv4, pero el nuevo AIR 2.0 reconoce IP’s de tipo.
Hay diferentes tipos de registros en los DNS, AIR 2.0 soporta los siguientes:
- ARecord: Esta clase nos devuleve información de direcciones de tipo 64-bits IPv6. Los registros AAAA se suelen usar para convertir hostnames en direcciones IP.
- AAAARecord: nos devuelve información sobre direcciones de tipo 32-bits IPv4.
- MXRecord: nos proporciona información sobre el mapeo del nombre de un dominio hacia una lista de intercambio de mail.
- SRVRecord: nos devuelve la información de localización de servicios sobre los registros SRV. Se utiliza para los nuevos protocolos en lugar de la creación de protocolos específicos.
- ResourceRecord: clase para encapsular la información del registro DNS.
- PTRRecord: nos permite acceder a la información de registros PTR. Los registros PTR se utilizan normalmente para la realización de consultas DNS inversas.
A continuación una muestra de una consulta que hace nuestra aplicación:

Conclusión
Hemos visto algunas de las características que nos proporcionan las betas de AIR 2.0. Hay muchísimas más características que dejo que experimenteis personalmente. Encontrareis bastante información y ejemplos por internet.
Seguiremos probando betas hasta que salga la release oficial de AIR 2.0.
Acerca de esta entrada
Usted está leyendo “Jugando con AIR 2 beta 2,” una entrada de MadeInFlex
- Autor: Sergi Dote Teixidor
Sergi es un desarrollador de aplicaciones RIA basadas en la plataforma Flash. Entre sus motivaciones y aportaciones a la comunidad está el diseño y arquitectura del software y los movimientos tecnológicos. Su carrera profesional se desarrolla dentro de Codeoscopic, empresa que lidera el sector del desarrollo RIA en España. Sergi es actualmente CoManager de esta comunidad
- URL del Autor:
- http://www.codeoscopic.com
- Publicada:
- 28.03.10 / 7pm
- Categorías:
- AIR (Apollo), Artículos
- Entradas relacionadas:
- Linux Flash Player 9 Beta Released!
- Adobe AIR 2 beta 2
- ILOG Elixir para Flex 3
- Disponibles las nuevas betas de Flash Player 11.2 y AIR 3.2
- Número de visitas:
- 4093


3 Comentarios
Ir al formulario de comentarios | rss (comentarios) [?] | trackback url [?]