Archivos de la categoría ‘AIR’

Reforest
Sunday, June 13th, 2010

Reforest

Reforest es una aplicación desarrollada en Adobe AIR que crea estructuras de proyecto a través de plantillas.

Estas plantillas pueden ser configuradas al gusto de cada uno para crear el árbol de carpetas y archivos que formarán nuestro directorio de proyecto.
El ejemplo que viene con Reforest, cuando lo descargáis, es un MVC simple con Flash y AS3, pero se puede utilizar para cualquier tipo de proyecto, diseño, .php, html, etc

La plantilla, a partir de ahora semilla (.seed), está compuesta por los siguientes nodos:

info

Info es la parte de la semilla que nos va a proveer de la información de ésta, como autor, fecha, nombre, descripción, etc.

Esta es la estructura:

XML:
<seed>
    <info>
        <author>Robot04</author>
        <date>09/09/09</date>
        <name>Example Template</name>
        <description>Estructura de proyecto base con vista y controlador</description>
        <notes>Acuérdate de borrar el árbol de main.fla :) </notes>
    </info>
</seed>

Después encontramos la estructura.

structure

Structure es la etiqueta que va a contenter nuestro proyecto, y en ella podremos crear y copiar los archivos y directorios que solamos utilizar frecuentemente en nuestros proyectos.

Dentro de structure podremos utilizar dos tipos de etiquetas diferentes:

  • folder
  • file

folder

Folder es la encargada de crear los directorios, tiene un sólo parámetro obligatorio name.
Si el valor del parámetro name es projectName, el valor se sustituirá en tiempo de ejecución por el nombre que elijamos para el proyecto.

XML:
<seed>
    <info>
        <author>Robot04</author>
        <date>09/09/09</date>
        <name>Example Template</name>
        <description>Estructura de proyecto base con vista y controlador</description>
        <notes>Acuérdate de borrar el árbol de main.fla :) </notes>
    </info>
    <structure>
        <folder name="projectName">
        </folder>
    </structure>
</seed>

file

El nodo file se encarga de copiar archivos y carpetas a nuestro directorio de proyecto.

Tiene dos parámetros obligatorios:

  • name
  • route

Name indica el nombre con el cual se guardará el archivo en nuestro directorio de proyecto y route es el path al archivo que se va a copiar.

XML:
<seed>
    <info>
        <author>Robot04</author>
        <date>09/09/09</date>
        <name>Example Template</name>
        <description>Estructura de proyecto base con vista y controlador</description>
        <notes>Acuérdate de borrar el árbol de main.fla :) </notes>
    </info>
    <structure>
        <folder name="projectName">
            <folder name="flash">
            <file name="main.fla" route="files/flash/main.fla" />
        </folder>
        </folder>
</seed>

Además de esto y esta es la joyita de Reforest, el nodo file tiene un atributo opcional parse.

Si le decimos a Reforest que parsee el documento con el atributo parse="true". Reforest buscará en esos archivos variables de Reforest y nos permitirá durante la creación del proyecto cambiar sus valores por otros al vuelo.

Las variables de Reforest tienen el siguiente aspecto:
%RFST:Variable=Valor%

Por ejemplo un uso básico en un archivo html podría ser:
<title>%RFST:title=titulo%</title>

o en un .as podríamos ajustar las características de nuestro fla de la siguiente manera:

Actionscript:
[SWF(width="%RFST:SWFWidth=1004%", height="%RFST:SWFHeight=680%", backgroundColor="%RFST:SWFBGColor=#FFFFFF%", frameRate="%RFST:SWFFramerate=30%")]

Espero que lo disfrutéis y si tenéis sugerencias o dudas, ya sabéis :)

PD: Junto con el instalador de Reforest encontraréis más información y un ejemplo de uso.

AIR Autoupdater en 10 pasos
Tuesday, July 14th, 2009

Ale, aquí os dejo cómo configurar un autoupdater para AIR en diez pasos.

1. Bajar el SDK de AIR.
2. Copiar el archivo applicationupdater_ui.swc a nuestra carpeta de proyecto.
3. Linkarlo en configuración de publicación.

advanced_settings_as3.jpg

4. Crear un updateConfig.xml con los siguientes parámetros:

XML:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
    <url>http://www.robot04.com/reforest/update.xml</url>
   <delay>1</delay>
    <defaultUI>
           <dialog name="checkForUpdate" visible="false" />
           <dialog name="downloadUpdate" visible="true" />
           <dialog name="downloadProgress" visible="true" />
           <dialog name="installUpdate" visible="true" />
           <dialog name="fileUpdate" visible="false" />
           <dialog name="unexpectedError" visible="true" />
    </defaultUI>
</configuration>

5. En el Main o donde iniciéis la app (esto es solo una muestra, a partir de aquí se pueden jugar con todos los parámetros del ApplicationUpdater y configurarlo a vuestro gusto):

Actionscript:
package
{
    import air.update.events.UpdateEvent;   
    import air.update.events.StatusUpdateErrorEvent;   
    import flash.events.ErrorEvent;  
    import air.update.events.StatusUpdateEvent
    import air.update.ApplicationUpdaterUI;
   
    public class Main
    {
        public function Main()
        {
            initUpdater();
        }
        public function initUpdater():void
        {
            appUpdater = new ApplicationUpdaterUI();                appUpdater.addEventListener(StatusUpdateErrorEvent.UPDATE_ERROR, updateError);
            appUpdater.addEventListener(UpdateEvent.INITIALIZED, updateInitialized);
            appUpdater.addEventListener(StatusUpdateEvent.UPDATE_STATUS, updateStatus);
            appUpdater.configurationFile = new File("app:/updateConfig.xml");
            appUpdater.initialize();
        }      
        private function updateInitialized(event:UpdateEvent):void
        {
            checkForUpdates();
        }
        private function checkForUpdates():void
        {
            appUpdater.checkNow();
        }

        private function updateError(event:ErrorEvent):void
        {
            trace("Error");
        }

        private function updateStatus(event:StatusUpdateEvent):void
        {
            trace("update status: " + event.version);
            trace("update available: " + event.available);
            trace("update details: " + event.details);
        }
    }
}

6. Añadir el updateConfig.xml en los settings de AIR: File --> AIR Settings --> Included Files + updateConfig.xml.
7. Compilar versión dejando, por ejemplo, en los AIR Settings en el campo de versión 0.90, la instalamos y compilamos otra versión cambiando el valor de la versión a la 0.91.
8. Crear un update.xml con:

XML:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
 <version>0.91</version>
 <url>http://www.robot04.com/reforest/reforest.air</url>
 <description><![CDATA[
Versión 0.91
 * Añadida actualización automática
 ]]>
</description>
</update>

9. Subir la versión nueva y el update.xml al servidor.
10. Añadir un nuevo tipo MIME ".air" al server

Abrimos la aplicación instalada y veremos que nos aparece la ventana de Update para descargar la nueva versión.
Nota: joder que mal se ven los estilos de syntax hiliter para los xml. Ya lo cambiaré.