onAIR Tour
El lunes 31 de Marzo se celebrará en Madrid el onAIR Tour Europe 2008. El evento es gratuito pero se requiere registro previo aquí.
Allí estaremos parte del equipo de MadeInFlex, así que si alguien se acerca, que salude ![]()
Post sobre eventos en MIF
He colgado en MadeInFlex.com una revisión/ampliación del post sobre eventos que en su día publiqué aquí:
Cualquier apunte o comentario será bienvenido.
Adobe MAX 2008
Ya tenemos las fechas concretas para el Adobe MAX 2008 (e incluso una previsión de asistencia). En Europa nos queda cerquita; se hará en Milán. Ya podemos ir reservando los billetes para no quedarnos sin...
San Francisco, CA, US
November 16-19, 2008
Attendee Goal: 5800
Adobe MAX - Europe
Milan, Italy
December 1-4, 2008
Attendee Goal: 3000
Adobe MAX - Japan
Tokyo, Japan
January 29-30, 2009
Attendee Goal: 1500
Vía [onflex.org]
ACE (Adobe Certified Expert) de Flex
Después de bastante tiempo sin postear, este mini-post es sólo para anunciar que esta mañana he obtenido el ACE (Adobe Certified Expert) de Flex 2.

El nivel ha sido bastante alto, aunque creo que es algo imprescindible para que la titulación tenga crédito.
También quiero felicitar a mi compañero Sergio (over-flow.es), que ha hecho el examen conmigo y también ha aprobado.
@Embed: unable to resolve ‘[asset name here]’ for transcoding
No me habia fijado en un comportamiento un tanto extraño de la rutina @Embed. Tenemos el caso siguiente:
<mx:Image source="assets/imagen.jpg"/>
Si queremos que la imagen anterior no se cargue en runtime sino que se embeda en el swf tendríamos que usar @Embed, por lo que el código quedaría:
<mx:Image source="@Embed('assets/imagen.jpg')"/>
Pero esto nos lanzará un bonito:
Error: unable to resolve 'assets/imagen.jpg' for transcoding
La solución es empezar la ruta con un '/':
<mx:Image source="@Embed('/assets/imagen.jpg')"/>
Enlace a la documentación sobre este tema
Esto nos puede hacer perder un buen rato.
MadeInFlex OnSite II
Este miércoles 23 de Enero tiene lugar un nuevo encuentro de la comunidad MadeInFlex. Dada la gran acogida que tuvo el MIF Onsite I, se repite la experiencia y estoy seguro que de que el éxito volverá a ser rotundo.
Ponencias:
http://www.madeinflex.com/2008/01/07/mif-onsite-ii-agenda/
Registro:
http://www.madeinflex.com/2008/01/07/mif-onsite-ii-agenda/
Sin duda es un evento que no se puede perder nadie "del mundillo" que tenga la posibilidad de desplazarse a Barcelona (no hay otra excusa porque el evento es gratis y dan hasta de comer!!
).
Además es una ocasión genial para poder charlar cara a cara con un montón de buenos desarrolladores.
Nos vemos el 23!
Lazy initialization
El concepto de lazy initialization consiste en delegar ciertas operaciones hasta el momento en que se necesitan en realidad. Es algo bastante común y sencillo.
Aunque no se conociera el término, seguro que en algún momento hemos visto algo como:
if (this._firstTime)
{
this._myClass = new MyClass();
this._firstTime = false;
}
De hecho es una técnica obligada en la construcción de un Singleton.
Tip: Acceso al livedocs integrado
En Flex Builder 3, si seleccionas una clase, método o tag mxml y presionas Shift+F2, aparecerá el panel de ayuda (con el livedocs integrado) por la página donde se hace referencia al elemento que hayas seleccionado. Realmente un hotkey muy útil.
Cargar clases dinámicamente
Para cargar clases dinámicamente en tiempo de ejecución podemos utilizar el método getDefinitionByName del package flash.utils.
Un ejemplo:
import flash.utils.getDefinitionByName;
var strClaseDinamica:String = "ClaseACargar";
var referenciaClase:Class = getDefinitionByName(strClaseDinamica);
var instancia:* = new referenciaClase();
Un par de puntualizaciones:
- Cuando se quiere cargar una clase dinámicamente hay que utilizar la ruta completa incluyendo el package (su full qualified name) aunque la clase cargadora se encuentre en el mismo sitio que la que carga.
- Una limitación que tiene este método (bastante grande a mi parecer) es que al compilar no se incluyen las clases a las que no se les hace referencia directa. Esto quiere decir que para que el ejemplo anterior funcione, en alguna parte del código, como mínimo, deberemos declarar una instancia de esta clase (aunque la igualemos a null):
var instancia:ClaseACargar = null;
En breve comentaré una buena práctica para evitar el "no-tipado" que se hace en la última línea del ejemplo anterior.
Certificados para aplicaciones AIR
Ya existen dos compañías capaz de ofrecer certificados para firmar aplicaciones hechas para Adobe AIR: Thawte y Verisign.
Recordemos que Adobe provee de un sistema de firmado con el que una compañía puede garantizar que el código no ha sido modificado por terceros incluyendo un resumen (digest) de la aplicación en el fichero de instalación.
El único problema (seguro que eventual) a día 20/11/2007 es que al parecer en thawte no han hecho bien las traducciones: si accedemos a la página de compra y nuestro navegador está configurado en español no veremos ninguna opción para comprar dicho certificado. Lo que sí veremos es un sospechoso radio button al final de la lista que no tiene asociado ningún texto. Pues bien, esa es la opción que tenemos que marcar si queremos firmar aplicaciones AIR (para los más desconfiados, basta con cambiar el locale del navegador a en-en).
Otro punto a destacar es que para completar el proceso de compra del certificado necesitas usar Mozilla Firefox.
Las dos opciones de compra que ofrecen son:
- 1 año: 299$
- 2 años: 549$
Enlace a la página de compra:
https://www.thawte.com/process/retail/new_devel?language=en&productInfo.productType=devel2
También hay una empresa llamada Comodo que ofrece este tipo de certificados, pero Adobe todavía no ha confirmado que sean válidos. De serlo, supone un gran ahorro ya que 1 año cuesta 179€ y 2 años, 340€. Enlace.

Calendar
May 2008 M T W T F S S « Mar 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 (13)
- SilverLight (1)
- Tips (6)
Recently
- 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
- 19.11 Certificados para aplicaciones AIR
Blogroll



