Comunicación en aplicaciones modulares en AIR: parentSandboxBridge y childSandboxBridge

En web es muy habitual que un SWF principal cargue SWFs externos desde un servidor, ya sea el mismo (donde no tendremos ningún problema) u otro diferente (donde aprece ya el interesante mundo de los sandbox de seguridad de flash). Si esto lo llevamos a una aplicación AIR, nos topamos con un extra que es el sandbox de la propia aplicación.
Una de las grandes caracterísiticas de flash es la capacidad de cargar películas que a su vez pueden funcionar como aplicaciones. Esta situación, además de común, nos permite estructurar las aplicaciones de forma modular y lograr una independencia interesante entre la base instalada, los contenidos y los datos que estos manejan. Extender aplicaciones al vuelo, o actualizarlas es una de las grandes virtudes que tendría este sistema.
Read more
#016 AS3 [Q] Tips: ActionScript 3 para la Plataforma Flash

Un recurso imprescindible para todos los que nos movemos por varios frentes dentro de la plataforma flash, que es el centro neurálgico de la documentación sobre AS3 aplicado a todos los entornos y programas donde lo podemos emplear.
ActionScript 3.0 Reference for the Adobe Flash Platform
- Adobe Flash Player 10.1 y anteriores
- Adobe Flash Professional CS5 y anteriores
- Adobe LiveCycle
- Open Source Medria Framework 1.0
- Adobe AIR 2.0 y anteriores
- Adobe Flex 4 y anteriores
- Adobe LiveCycle Data Services
- Adobe Flash Lite 4
- Adobe Cold Fusion 9 y anteriores
- Adobe BlazeDS
Curso Flash Lite en Intelygenz
Pues esta semana he tenido la suerte de poder compartir un poco de nuestra experiencia en desarrollo de aplicaciones reales en Flash Lite con la gente de Intelygenz (¡saludos a todos, alumnos, no alumnos y miriam!), y realmente aprovecho la entrade del blog para darles las gracias por haberme tratado taaaan bien, además de los buenos ratos que hemos pasado.
Durante el curso hemos dado un repaso bastante curioso a un montón de tópicos en Flash Lite, sobre todo al trabajo que se puede llegar a alcanzar en AS2 para que la programación no le resulte tan sucia a alguien que viene o está acostumbrado de AS3 (un ejemplo de un caso real, sobre cómo hacer algo cuiroso con AS2 es el Feather Framework de Raúl Jiménez (@elecash) que liberamos en su día en BlocketPC).
Por suerte con FP10.1 esto se nos termina, pero hasta entonces, o si queremos alcanzar algunos termianles previos o de gama más baja, Flash Lite y AS2 siguen mandando.
La entrada en realidad es para poneros aquí un resumen de las herramientas básicas necesarias para lograrlo, y que son la base para poder trabajar con Delegates, despachado de eventos en condiciones, Tweens realmente optimizadas para Flash Lite, gestión de cargas y sus limitaciones, trabajo con JSON (si optáis por esta solución).
La lista de la comprá para un buen programador Flash Lite en AS2 no debería dejar de contener:
- Delegate con parámetros, por ejemplo el de nuestro amigo Zárate.
- GDispatcher de Grant Skinner, para trabajar con eventos (¿por qué no hay en AS3 un removeAllEventListeners?)
- TweenLite para animación por código (a ser posible la TweenLite de hace tiempo, no la actual, que ha añadido complejidad y potencia, lo cual le sobra a FLite)
- Clase oficial de JSON para AS2 si vamos a trabajar con este formato (ya no disponible en la web de JSON)
- QueueLoader (hay muchas) en la gestión de cargas en AS2 (y a ser posible mejorada creando unas propiedades públicas estáticas para los tipos de eventos que se generan, que la original que empleamos en Feather Framework viene con Strings “a pelo”)
- Un buen singleton para gestión de información (como por ejemplo el ModelLocator de Feather Framework)
- Tener claro que el XML es malo para la salud
- Adobe Flash Lite Developer Center
- Referencia del Lenguaje
- Mobile & Devices Cookbook
- FlashMobileBlog (muy recomendable el ZIP de “Perfomance Tips” sobre Flash en dispositivos
- Adobe Flash Platform Blog
- Biskero, Recursos
- Biskero, Tutoriales y documentación
- Y como no… blocketpc, Flash Lite en castellano
- Blocketpc, Open Source
-
<script language="JavaScript" type="text/javascript">
-
AC_FL_RunContent(
-
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
-
'width', '300',
-
'height', '300',
-
'src', 'test',
-
'quality', 'high',
-
'pluginspage', 'http://www.adobe.com/go/getflashplayer',
-
'align', 'middle',
-
'play', 'true',
-
'loop', 'true',
-
'scale', 'showall',
-
'wmode', 'window',
-
'devicefont', 'false',
-
'id', 'test',
-
'bgcolor', '#993399',
-
'name', 'test',
-
'menu', 'true',
-
'allowFullScreen', 'false',
-
'allowScriptAccess','sameDomain',
-
'movie', 'test',
-
'salign', ''
-
); //end AC code
-
</script>
-
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="300" height="300" id="test" align="middle">
-
<param name="allowScriptAccess" value="sameDomain" />
-
<param name="allowFullScreen" value="false" />
-
<param name="movie" value="test.swf" />
-
<param name="quality" value="high" />
-
<param name="bgcolor" value="#993399" />
-
<embed src="test.swf" quality="high" bgcolor="#993399" width="300" height="300" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
-
</object>
-
</noscript>
Con esto podréis cocinar muchas y ricas recetas con pocos recursos, pero con modernas herramientas como Eclipse + FDT, FlashDevelop, etc. ¡A degustarlo!
Iniciándose en Flash Lite
No es que esto sea un recurso, nuevo, pero tras un tiempo sin entrar a revisar la Wiki de Forum Nokia sobre Flash Lite he visto que el volumen de información que hay (gracias a la aportación de un montón de desarrolladores, que siguen demostrando que la salud de la comunidad Flash es enorme, incluso hablando del hijo pequeño de la familia) y me ha parecido que se merecía su huequecito en el blog.
Para cualquier que quiera comenzar a desarrollar aplicaciones para Flash Lite (ya sea 2.x, 3.x o 4 que está en camino) un recurso indispensable, es Forum Nokia. Por un lado por sus recursos y los usuarios que lo mantienen muy activo, y por otro lado, porque por mucho iPhone, Android, etc. que salga, a día de hoy el gigante por excelencia en terminales móviles sigue siendo Nokia.
Evidentemente no se pueden dejar de lado recursos oficiales como los que os dejamos a continuación:
Esto son solo algunas referencias, por suerte hay bastante información, tutoriales, ejemplos y código por ahi suelto que viene de perlas. Y ahora que ya tenemos encima el Flash Player 10.1 para dispositivos, con soporte para AS3, toca ponerse las pilas, reciclarse y disfrutar de flash en dispositivos con unas capacidades que sin duda nos dejarán hacer aplicaciones mucho más interesantes!
Target _blank sin target _blank (o casi)
Un truquito rápido para los que no somos programadores sino emponzoñadores de código
. Si necesitas que los enlaces de una página web se abran en una ventana nueva, lo lógico es tirar de target=”_blank” ¿verdad? El problema es que no pasa la validación XHTML y si somos muy tiquismiquis con esto la cosa se complica. rel=”external” sí que valida pero los navegadores actualmente no interpretan esta propiedad para abrir los enlaces en nueva ventana. Entonces, ¿cómo lo hacemos?
Aunque hay unas cuantas formas de hacerlo, la más rápida y sencilla es usar jQuery. Cargamos la librería y simplemente necesitamos una línea para que todos los links con rel=”external” automáticamente se puedan abrir en una nueva ventana:
$(’a[rel=external]‘).attr(’target’,'_blank’);
Más fácil imposible ![]()
Librería AS3 para el procesamiento de imágenes

Pues me animo a volver a escribir para acercaros en esta ocasión una librería en AS3 para el trabajo con imágenes, en este caso unas clases que nos permitirán trabajar con más de 50 filtros que pueden arrojar resultados tan interesantes como los que nos muestra el autor:
Para aprender a usarla nada mejor que los ficheros para descargar y la documentación bien a mano.
De todas formas una buena explicación, aunque en inglés, la encontráis en la página original donde se detalla la librería.
#013 Flash [Q] Tips: swfobject y respeta los estándares con flash
Este tip es un poco doble, en realidad el objetivo principal es el de lograr crear código para un objeto flash que valide correctamente los estándares correspondientes, y de paso hablaros de un imprescindible en todos aquellos que trabajamos con flash como es swfobject.
La manera "tradicional" de generar un HTML con un flash incrustado, y que incluso es la que se mantiene en la versión CS4 de la suite de adobe es la siguiente:
Hemos obviado el código javascript que ha generado también en dicho HTML. Pues bien, este código que ha generado el IDE de flash NO valida los estándares web que debería (esto no es nada nuevo, de hecho la solución que vamos a comentar tiene ya sus años, pero me jugaría bastante a que muchos de los que estáis leyendo esto, no os habéis preocupado demasiado de la validación de estándares de los objetos flash), y por tanto si en nuestras webs XHTML y CSS deseamos que sea una realidad el tema de la validación, deberemos tirar de recursos más elaborados.
Read more
Diseñando para Android (e iPhone): templates en Fireworks

Me encanta ver tanto movimiento alrededor de la comunidad diseñil para móvil en el que Fireworks sale a relucir, y me encanta porque es la prueba constante de que este programa tan a la sombra de Photoshop está viendo poco a poco la luz... los diseñadores empiezan a entender las diferencias claras entre el trabajo y necesidades de diseñar para web, retocar imágenes, diseñar para papel y múltiples combinaciones de ellas.
Y en todo ésto una cosa está clara, Fireworks es un programa que hace muy bien lo que hace, y como herramienta para diseñar interfaces, es muy ágil, cómodo y cuenta con recursos suficientes para ahorrarnos bastante trabajo.
Como muestra, un botón, estas plantillas para Android con las que podremos acelerar nuestros bocetos para esta plataforma, como ya hemos visto en alguna ocasión para iPhone.
Y aquí un recordatorio de todo lo que este programa te puede ofrecer.
Dale caña a tu Fireworks con extension manager!
A estas alturas muchos sabéis que soy de los que usa Fireworks en vez de Photoshop para el diseño web...y para muchas otras cosas en general. El caso es que pese a que lo considero realmente un muy buen programa (sí, se cuelga mucho, lo sé.), echaba de menos algunas cositas que sí que tengo en Photoshop y me hacían la vida más fácil. Una de ellas es el copy merged (copiar combinado creo que es la versión española). Lo echo MUCHO de menos en archivos con gran densidad de capas y elementos.
Total, que he desempolvado un viejo link que me pasó Rude para arreglar esto. Así de paso os descubro a John Dunning [en] y su MEGA colección de extensiones para Fireworks [en].
Si no lo conociáis y usáis este programa, echad un vistazo a la cantidad de buenos recursos que tiene ahí dentro y que estoy seguro os harán mejorar vuestros quehaceres con el programa. Yo ya tengo mi Copy Merged [en] en Fireworks, además de muchas otras cosas más como SelectPoints [en] y la imprescindible Smart Knife [en]. Parece que los Reyes Magos han llegado antes de lo previsto
Y de paso recordad que en Fireworks Developer Center [en] siempre hay mucha miga interesante.
Axiis: Framework para visualización de datos en Flex

Aprovechamos la sobremesa del domingo para enlazaros Axiis un framework opensource que siempre es bueno tener a mano, en esta ocasión nos permitirá visualizar datos en gráficos de una forma sencilla, aprovechando las cualidades de flex.
Axiis permite a los desarrolladores definir el modelo de visualización de datos a través de un etiquetado intuitivo. Podéis ver unos cuantos ejemplos de las posibilidades que os puede ofrecer, o pegarle un ojo a la documentación oficial. Si os animáis incluso meteros en el código desde GoogleCode.
También podéis poner vuestras dudas en el grupo de GoogleGroups, que parece mantener una buena y sana actividad (más allá de algun spam que se cuela).