Adobe MAX en Barcelona!
La próxima Adobe MAX se celebrará en Barcelona:
Web:
Adobe Max 2007
Fecha y lugar:
15 - 18 de Octubre de 2007
en el Centre de Convencions Internacional de Barcelona (CCIB)
Allí nos veremos!
Encapsular un Singleton en AS3
Una de las limitaciones (aunque no muy grave) de AS3 es la imposibilidad de crear constructores privados. Estos son especialmente útiles para mantener la encapsulación cuando queremos implementar el patrón de diseño Singleton (asegurar una sola instancia de una clase), y que es tan importante en la POO. La técnica es muy sencilla: haciendo el constructor privado nos aseguramos que ninguna otra clase puede instanciar nuestro Singleton.
Un pequeño truco para imitar este comportamiento en AS3 consiste en declarar junto al package de nuestro Singleton una clase (que solo puede ser accesible desde las clases de ese mismo package) y pasarle al constructor del Singleton una instancia de esta. Parece un poco lioso, pero con ejemplo seguro que se ve más claro:
package {
public class Singleton {
private static var _instance:Singleton;
public function Singleton(enforcer:SingletonEnforcer) {}
public static function getInstance():Singleton {
if(Singleton._instance == null) {
Singleton._instance = new Singleton(new SingletonEnforcer());
}
return Singleton._instance;
}
}
}
class SingletonEnforcer {}
Como SingletonEnforcer sólo está accesible para este package, nos aseguramos que sólo el método getInstance es capaz de instanciar la clase Singleton.
Tip Flex: Acceso a propiedades y métodos en un swf cargado
Si queremos cargar una película Flash en un proyecto Flex, lo más recomendable es utilizar la clase SWFLoader (loader.load("miArchivo.swf")). Pero si queremos acceder a métodos u objectos dentro de esta película deberemos distinguir entre si se trata de AS2 (Flash 8 e inferiores) o AS3 (Flex o Flash 9 Preview).
En el primer caso para poder comunicar las dos películas tendremos que utilizar LocalConnection ya que los dos códigos se ejecutarán sobre máquinas virtuales diferentes (VM1 y VM2).
El segundo caso es mucho más sencillo ya que podemos acceder directamente a todo lo que contiene nuestra película cargada, pero hay que tener en cuenta el siguiente detalle:
En en tiempo de compilación, Flex no sabe qué contiene la película que queremos cargar, por tanto, lanzará un error bastante molesto si queremos acceder a un objeto de la siguiente manera:
miLoader.content.miObjecto.propiedad
En lugar de ello deberemos acceder utilizando el operador de matriz:
miLoader.content["miObjecto"].propiedad
Si lo que queremos es ejecutar un método lo haremos de manera similar:
miLoader.content["miMetodo"]()
En breve postearé un ejemplo de LocalConnection entre Flash 8 y Flash 9...
Tip AS3: tags
En ActionScript 3 podemos identificar algunas operaciones con tags. Esto es útil, por ejemplo, cuando perdemos el scope (o ámbito), como en la siguiente situación:
for (var i:int = 0; i<20; i++) {
for (var j:int=0; j<20; j++) {
trace ("hola");
break;
}
}
En este caso la sentencia trace se ejecutará 20 veces, y es aquí donde podemos utilizar los tags para referirnos al for principal. El código quedaría así:
salta:for (var i:int = 0; i<20; i++) {
for (var j:int=0; j<20; j++) {
trace ("hola");
break salta;
}
}
En este caso la sentencia trace sólo se ejecutará una vez.
Flexbook
Ely Greenfield de Quietly Scheming ha sacado una aplicación en Apollo (en realidad es el famoso flip book de iparigrafika , portado a flex y después portado a Apollo).
En esta espectacular aplicación podemos ver como funciona el motor de render de HTML de Apollo (Webkit, el mismo que el de Safari), y la velocidad de proceso de AS3 (quien haya probado el flipbook en Flash Player 8 a un tamaño de página respetable sabrá que "le cuesta un poco"....).

Para ser sincero el otro día me lleve una leve decepción cuando probé el lector de rss del labs debido a su rendimiento, pero con esta aplicación he recuperado la esperanza! ![]()
Charlas Made In Flex II
Este viernes 23 de Marzo toca la segunda tanda de presentaciones online de Made In Flex. El cartel, como no, muy interesante:
· 14:00 - 14:50. Edgar Rivera. Análisis Bursatil con Adobe Flex Charting.
· 15:00 - 15:50. Israel Gaytán. RIAS con Flex y Flash Media Server.
· 16:00 - 16:50. Xavi Beumala. Flex 2.0.1: Arquitecturas modulares.
· 17:00 - 17:50. Enrique Duvós. Introducción a Apollo.
Más información:
· http://www.madeinflex.com/2007/03/05/presentando-mif-online-ii/
Registros:
· http://www.madeinflex.com/aug/registro/
La URL de acceso se publicará el dia anterior, pero tranquilos que cabremos todos...
Nos vemos allí!
Ventas de “The RIA Book”
Yakov Fain, consultor de Farata Systems, ha hecho pública una lista de compradores de su RIA book ordenados por países. Como era de esperar el primero de la lista es EEUU; pero, ¿a que no sabéis quien va segundo?
Country Orders
UNITED STATES 61.26%
SPAIN 5.11%
AUSTRALIA 3.00%
ENGLAND 3.00%
ITALY 3.00%
GERMANY 2.40%
CANADA 1.80%
AUSTRIA 1.50%
NETHERLANDS 1.20%
RUSSIA 1.20%
(...)
Todavía no lo tengo en mis manos, pero viendo el índice de contenidos y habiendo seguido el blog de los autores desde hace ya algún tiempo, me atrevería a decir que este libro es de lo mejor que hay actualmente sobre Flex (y Java).
Algunas recomendaciones más:
·Programming Flex 2
·ActionScript 3.0 Cookbook
·Adobe Flex 2: Training from the Source
·Advanced ActionScript 3 with Design Patterns (este no es específico de Flex, pero vale la pena)
Ha salido Apollo!
Bueno, por fin se ha hecho pública la versión alpha de Apollo en los labs de Adobe.
También encontramos algunas aplicaciones de ejemplo aquí (se requiere el Apollo runtime para ejecutarlas).
En cuanto pueda pondré un post con mis primeras impresiones. De momento decir que la release viene acompañada de documentación, ejemplos y un plugin para Flex Builder.
Aunque Apollo en un principio era un codename, parece ser que hay mucha gente a la que le gustaría que quedase como nombre final del programa. A mi personalmente también me gusta; ya me he acostumbrado....
Componentes profesionales para Flex 2
La empresa Teoti Graphix ha sacado al mercado lo que podríamos considerar como el primer pack de componentes profesionales para Flex 2; el FSCollectionFX1.
Estos componentes se dividen en3 grandes grupos:
Por el precio que tienen (139.99$) y las funcionalidades que ofrecen, creo que son una opción más que recomendable.
Extreme skinning
Aunque los chicos de Adobe (formerly Macromedia) han hecho un gran trabajo con el estilo de los componentes que vienen por defecto en Flex, creo que no pasará mucho tiempo antes de que nos cansemos de los mismos degradados azulados y los (un-poco-insulsos) grises de los datagrids. Es por esto que el tema del skinning irá ganando relevancia y en poco tiempo será impensable (o eso espero) dejar las aplicaciones con el look por defecto.
Sin duda puedo decir que este es el mejor skinning que he visto hasta el momento: Elyon’s napkin skin. Además es un gran tutorial en el que se explica todo el proceso y el desarrollo (incluidas las dos fases previas; graphical, programmatic).


Calendar
August 2008 M T W T F S S « May 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Categories
- AIR (7)
- AS3 (6)
- Eventos (1)
- Flash Player (1)
- Flex (18)
- General (14)
- SilverLight (1)
- Tips (6)
Recently
- 27.05 Mac Book Pro
- 25.03 onAIR Tour
- 25.03 Post sobre eventos en MIF
- 19.03 Adobe MAX 2008
- 29.02 ACE (Adobe Certified Expert) de Flex
- 15.01 @Embed: unable to resolve ‘[asset name here]’ for transcoding
- 14.01 MadeInFlex OnSite II
- 04.12 Lazy initialization
- 21.11 Tip: Acceso al livedocs integrado
- 20.11 Cargar clases dinámicamente
Blogroll



