chblogBlog personal de Cristian Hernandez

Update para Flash CS3, Adobe AIR

En Actionscript, Apollo by Cristian Hernández on the August 31st, 2007

En Adobe Labs está disponible un update para Flash CS3 Professional. Este permite publicar nuestras aplicaciones directamente a Adobe AIR (Apollo). Es beta aun pero vale la pena probarla ;)

Link: AIR:Flash CS3 Professional Update

Variables globales en Actionscript 3

En Actionscript 3 by Cristian Hernández on the July 4th, 2007

Actionscript 3, no tiene un acceso tan claro a _root como las versiones anteriores, y _global fue removido (por suerte), por lo tanto se puede llegar a complicar el uso de variables "globales", en realidad no era una buena práctica, pero era una opcion viable hacer esto:

_root.user = "nombre de usuario";
_root.userType = "admin";

o lo siguente:

_global.user = "nombre de usuario";
_global.userType = "admin";

Repito, no es la mejor opción pero era una salida.
La mejor opción para esto, en Actionscript 3, es utilizar el patrón de diseño Singleton, utilizando una class como la siguiente:

package{
        [Bindable]
        public class GlobalVars {
                // public vars:
                public var user:String"nombre de usuario";
                public var userType:String = "admin";

                // private vars
                private static var instance:GlobalVars;

                public function GlobalVars() {
                }
                public static function getInstance():GlobalVars {
                        if (instance == undefined) {
                                instance =new GlobalVars();
                        }
                        return instance;
                }
        }
}

Esta class no se debe instanciar dentro de ella está contenida la única instancia, y es pedida con el método getInstance(), así aseguramos la persistencia de las variables dentro de esta misma instancia.
Con esto desde cualquier class de nuestro proyecto, o bien desde algún fotograma del archivo fla podemos utilizar o modificar estas variables de la siguiente forma:

trace(GlobalVars.getInstance().user)// nombre de usuario;
GlobalVars.getInstance().user = "soy el nuevo usuario"

En otra class:

trace(GlobalVars.getInstance().user)// soy el nuevo usuario;

Con esto tendremos variables globales en forma en forma ordenada, porque todas estarán declaradas en nuestra class, además podemos tener más de una class de estas, para almacenar distinto tipos de datos.
Esto sería como una mezcla de los Value Objects y los Model Locators en el Framework Cairngorm, solo que más simplificado para ser utilizado más facillmente.

Más de Flash CS3

En Actionscript 3, Adobe by Cristian Hernández on the July 3rd, 2007

Mi post anterior sonó medio "apocalíptico" sobre diseñadores y actionscript.. pero por lo que estuve viendo de Flash CS3 tiene una ventaja, haciendo dobleclick sobre cualquier instancia de componente de Flash en en escenario aparece algo parecido a esto:
Editar Componente

Ahi vemos todos las partes del skin del componente para poder ser editado fácilmente... sin tanto código para cambiarlo de colores. Ningún secreto pero es buenisimo..

Flash CS3 ¿Como convivimos?

En Actionscript 3, Adobe by Cristian Hernández on the June 21st, 2007

Como ya todos saben Adobe ha sacado la nueva version de Flash, CS3 (el resto de los programas de adobe también están incluidos en esta version).
La principal novedad que rescato es de Actionscript 3. Tiene mejoras excelentes, y cosas nuevas que empecé a utilizar en Flex 2 y aun descubriendo para Flash.
Lo que veo un poco complicado esa la convivencia Programador-Diseñador, AS3 tiene algunos cambios que pueden llegar a afectar a personas que no estén muy acostumbradas a trabajar con código:

  • No se puede poner codigo sobre los objetos (no mas on(release) )
  • No mas getURL (creo que lo primero qeu se aprende de Actionscript)
  • No está ni _root ni _parent
  • No mas #include
  • Es más estricto, no se puede hacer un casting de variable sin declararlo
  • Si se asignan propiedades a objetos nulos, da error

Bueno, eso entre otras cosas. Creo que con todo esto va a ser dificil que un diseñador flash utilice Actionscript 3, con esto pueden pasar dos cosas, o bien que los diseñadores se dediquen a la parte gráfica exclusivamente, separado del código del programador, o bien que el diseñador haga sus "programaciones" en AS1, o AS" y que luego el programador tenga que pasar todo a AS3.
Creo que de las dos opciones me quedo con lo primero, vamos a ver como evoluciona esto, como siempre digo, la tecnología es buenísima, ideal; el conflicto está en las personas que la deben utilizar.

Mini-FAQ sobre Flex 2

En Flex, Actionscript 3, Adobe by Cristian Hernández on the April 24th, 2007

Hace tiempo que vengo hablando sobre Flex 2, posteando ejemplos y otras cosas salteándome cualquier tipo de introducción. Ultimamente recibí varias consultas de desarrolladores que quieren conocer Flex, por eso armé algunas consultas comunes y armé este pequeño FAQ.

¿Para que sirve Flex?
Básicamente Flex está pensado para el desarrollo de RIAs (Rich Internet Applications), o sea aplicaciones Web con elementos de formulario, interacciones avanazadas, conexión a base de datos.

¿Como es la forma de trabajar en Flex?
En resumen, son archivos XML (MXML) donde se encuentran las llamadas a los componentes, estados, vistas, etc. Los componentes pueden ser desarrollados por Adobe, o componentes propios. La programacíón se realiza en Actionscript 3, y estos códigos se colocan en archivos .as.

¿Como se realiza la compilación de los proyectos?
Básicamente hay dos formas, en tiempo de ejecución en un Flex Server o con el SDK de Adobe. En el Flex Server se suben los archivos .mxml y desde el browser se visualizan archivos swf. Una analogía conocida sería, se suben PHP y se visualizan HTML, este servidor está basado en Java. La otra es compilando los mxml con el SDK y subir directamente los archivos SWF.

¿Donde puedo conseguir el SDK?
El SDK se puede bajar del sitio de Adobe y es gratis.

¿Hay alguna herramienta para desarrollar Flex 2?
Si, se puede utilizar el Flex Builder 2, este es un plug-in para Eclipse que tiene asistentes muy útiles para la codificación, y también tiene una interfáz para el desarrollo visual.

Para ejecutarse, del lado cliente, ¿se necesita lago más que el FLASH Player?
No, se necesita tener instalado el Flash Player 9. Y es compatible con cualquier navegador que tenga esa versión de Flash Player.

¿Que tecnología de servidor debo utlizar para trabajar con Flex y base de datos?
Cualquiera, PHP, ASP, .NET, JSP, cualquier tipo de tecnología de servidor, utilizando Flash Remoting, XML, WebServices, WebOrb, etc.

Bueno, eso es todo por ahora, es muy básico pero espero que sirva para aclarar algunas dudas :)
Cualquier cosa que quieran agregar o corregir no tienen mas que ponerlo en los comentarios.

Error con los uploads en Flash 8 y Flex 2

En Actionscript, Flex by Cristian Hernández on the March 20th, 2007

Después de pubicar el componente para upload he recibido muchos mensajes que me comunicaban el mismo error:

Error #2044: IOErrorEvent no controlado: text=Error #2038: Error de E/S de archivo.

Tiempo después, en un proyecto personal, experimenté yo mismo en un proyecto personal con Flex, por suerte uno de los mensajes que recibí, de David, me dió una solución:

El problema se encuentra en la configuración de mod_security del Apache que bloquea el acceso del archivo temporal creado en el servidor al script 'upload.php'. Así que si tienen acceso a la configuración del Apache tienen que configurar este módulo para que permita este tipo de upload.

En mi caso, como no tengo acceso a la configuración del Apache, tuve que buscar una solución "alternativa":
Hay que modificar el .htaccess para deshabilitar el mod_security agregando las siguientes lineas:

SecFilterEngine Off
SecFilterScanPOST Off

Probé con esto y anda bien, espero que no traiga muchos problemas de seguridad, pero los uploads andan ;)

Flex DirBrowser Component

En Flex, Actionscript 3 by Cristian Hernández on the March 19th, 2007

Este componente es una mejora del componente File Upload que publiqué anteriormente.

Es simple, explora un directorio que se le pasa como parámetro, lista todos los archivos están en ese directorio, se pueden borrar y agregar nuevos archivos. Está pensado para imágenes.
Ejemplo
Flex Sources
Descargar todos los archivos

Guía de migración de Actionscript 2 a 3

En Actionscript, Actionscript 3 by Cristian Hernández on the March 6th, 2007

En actionscriptcheatsheet publicaron una guía de migración de Actionscript 2 a 3.

Imperdible, una referencia para tener en cuenta.

Flash: LocalConection y Multidmedia Zinc

En Actionscript, Personal by Cristian Hernández on the December 29th, 2006

Este es un post corto para contar una experiencia personal que le puede servir a alguien más. Si trabajan con Zinc y en el Flash usan LocalConection acuerdense de desactivar el Preview del Zinc:
Desactivar el preview del Zinc
Esta pequeña ventanita "toma" las conexiones que se envían, y no permiten que funcionen las LocalConection.
Estas son las pequeñas cosas que pueden representar una hora de trabajo :s.

Selector de versiones de Flash Player para Firefox

En Actionscript, Cool Sites by Cristian Hernández on the October 31st, 2006

Flash Switcher extension for Firefox

Alessandro Crugnola, Sephiroth, desarrolló una extensión para cambiar las versiones de Flash player en Firefox. Flash Switcher extension for Firefox. Muy útil.

Flash Lite 2.1, actualización para Flash 8

En Actionscript, Mobile by Cristian Hernández on the October 27th, 2006

Adobe sacó una actualización para Flash 8 para el uso de Flash Lite 2.1.
Carácterísticas:

  • Flash Lite 2.1 publishing support
  • Flash Lite 2.1 emulator support (including XML sockets)
  • Flash Lite 2.1 device profiles
  • Flash Lite 2.1 documentation
  • Updated ActionScript class files
  • Updated Script Assist files

Para bajarlo y más info, Adobe Labs

Adobe Flash Lite2.1 for Windows Mobile 5.0.

En Actionscript, Mobile by Cristian Hernández on the September 15th, 2006

Adobe sacó un preview release de Adobe® Flash® Lite™ 2.1 for Windows Mobile 5.0.
Entre las carácteristicas se destacan:

  • Dynamic XML data
  • Persistent data
  • Powerful and dynamc media
  • Text enhancement
  • Action Script 2.0 support
  • Synchronized device sound
  • Compressed SWFs

Via: Adobe Labs

Next Page »