Típico… Pero para empezar sirve

Bueno se que un Hola mundo no es la mas útil de las aplicaciones pero, también se que es la mejor forma de tomar contacto.
Quisiera recomendar que para este sencillo proyecto, tratemos de no utilizar ningún entorno, si bien siempre que hagamos un proyecto no trivial es recomendable, a modo de aprendizaje creo que lo mejor es un editor de texto plano y la linea de comando para usar el sdk.
Antes de meter las manos en el código saber que en la carpeta /bin del directorio de SDK se encuentran las herramientas de linea de comando que se utiliza para depurar, desplegar y empaquetar las aplicaciones.
archivos exe
archivos bat
adl.exe

Con nuestro editor de texto favoritos creamos los dos archivos necesarios para compilar y desplegar nuestra aplicación AIR.
El archivo principal puede ser o bien un archivo .mxml o un archivo .as
Un archivo descriptor .xml

HelloWorld-app.xml

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
    <id>com.aircmr.HelloWorld</id>
    <version>0.1</version>
    <filename>HelloWorld</filename>
    <name>Hello World</name>
    <description>An AIR app to say Hello</description>

    <initialWindow>
        <content>HelloWorld.swf</content>
        <title>Hello World</title>
        <systemChrome>standard</systemChrome>
        <transparent>false</transparent>
        <visible>true</visible>
    </initialWindow>

    <installFolder>AIRCMR/HelloWorld</installFolder>
    <programMenuFolder>AIRCMR</programMenuFolder>
</application>

HelloWorld.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    windowComplete="completeHandler();">
    <mx:Script>
        <![CDATA[
            // window has completed initial layout and is made visible.
            private function completeHandler():void
            {
            }

        ]]>
    </mx:Script>

    <mx:Label text="Hello World" />
</mx:WindowedApplication>

Bueno no me voy a detener en la explicación del descriptor ya que hay un post el cual se explaya suficiente de esto.
Particularmente nuestro mxml tiene dos cosas a resaltar el contenedor mx:WindowedApplication el cual solo vamos a decir por ahora que es una extensión del componente Application y tiene atributos extra que suelen ser configurados en el descriptor, y por ultimo solo mencionar el componente label con la propiedad text y su valor “Hello World”

Para completar este ejercicio vamos a llamar a las tareas necesarias para generar nuestra aplicación.
Compilación
Se utiliza el compilador amxmlc de la carpeta /bin
mas o menos con este formato
Windows
> amxmlc -load-config “ruta\flex_sdk\frameworks\air-config.xml” -output HelloWorld.swf HelloWorld.mxml

Mac
> amxmlc -load-config “/Applicatios/flex_sdk/air-config.xml” -output HelloWorld.swf HelloWorld.mxml

Pre visualización y depuración
>adl HelloWorld-app.xml

Espero se hayan dado cuenta, el por que mi deseo de usar la linea de comando, de esta forma creo que es mas fácil entender que nuestro descriptor no es necesario para la compilación y si para la depuración y depuración. Bueno con esto se me ocurre pensar que si yo no quiero pre-visualizar ni depurar la aplicación no necesito un descriptor, pero aun nos esta faltando el empaquetado, para el cual si es necesario.

Empaquetado
Esta parte involucra varios procesos ya que para generar un instalador necesitamos un certificado digital.
Crear certificado
> adt -certificate -cn HelloWorld 1024-RSA certificate.pfx password

Rápidamente explico los parámetros
nombre comun
tipo de clave: puede ser 1024-RSA o 2048-RSA
ruta del archivo usando extensión pfx o p12
contraseña utilizada.

Empaquetado Final
> adt -package -storetype pkcs12 -keystore certificate.pfx HelloWorld.air HelloWorld-app.xml HelloWorld.swf

El valor del parámetro -storetype es la versión PKCS
El contenedor o almacén de claves
Finalmente el Archivo AIR generado, el descriptor de la aplicacion y el SWF.

como nota final en cuanto al empaquetado se puede utilizar la opción -C para incluir todos los archivos en el paquete, suponiendo que tengamos archivos de imagenes, bases de datos etc.
Para dejar un ejemplo puede ser algo asi
> adt – package -storetype pkcs12 -keystore certificate.pfx HelloWorld.air HelloWorld-app.xml -C ./bin HelloWorld.swf -C ./images HelloWorld.png

Como nota final comentarles que Adobe AIR va por la versión 2.6 donde ha desplegado muchas funcionalidades, extras, así como también existe otro modelo de componentes Flex, pero la finalidad de este post es introductorio y no toca ninguna api de Adobe AIR, probablemente con el tiempo iré avanzado sobre nuevas prestaciones pero como dije en un principio me gustaría armar una guía para iniciados.

De todas formas no quiero dejarlos con ese sabor amargo de saber cual seria la version mas reciente para nuestro Hello World, con AIR 2.6 o mejor dicho con el nuevo modelo de componentes.

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>

Recordar cambiar en del descriptor la linea

por esta otra

Ahora si doy por finalizado este post y espero que sea de utilidad.

Tags: , ,
Posted in Air | 1 Comment »

One Comment

  1. decliners says:

    Appreciate exhortation. I discovered a person’s 1st indicate often be best .

Leave a Reply