<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Joan Garnet :: Arquitectura y desarrollo RIA</title>
	
	<link>http://www.joangarnet.com/blog</link>
	<description>Blog acerca de arquitectura y desarrollo de software</description>
	<lastBuildDate>Wed, 15 Jul 2009 10:07:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JoanGarnet" type="application/rss+xml" /><item>
		<title>[AdobeEnVivo] AIR vs Flash Player APIs</title>
		<link>http://www.joangarnet.com/blog/?p=657</link>
		<comments>http://www.joangarnet.com/blog/?p=657#comments</comments>
		<pubDate>Wed, 08 Jul 2009 22:30:35 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Eventos Plataforma Flash]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=657</guid>
		<description><![CDATA[
Voy a dar una charla durante el evento AdobeEnVivo que se dará online durante la semana que viene, del martes 14 al sábado 18.
La charla, que será el jueves 16 a las 16h (hora en España: 22h), intentará dar una visión clara de las cosas que se pueden hacer con AIR que no se pueden [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.joangarnet.com/blog/wp-content/uploads/2009/07/Picture-1.png" alt="Flash Player vs AIR APIS" title="Flash Player vs AIR APIS" width="450" height="308" class="alignnone size-full wp-image-661" /></p>
<p>Voy a dar una charla durante el evento <a href="http://www.adobenvivo.com/online/">AdobeEnVivo</a> que <strong>se dará online</strong> durante la semana que viene, del <strong>martes 14 al sábado 18</strong>.</p>
<p>La charla, que será el <strong>jueves 16 a las 16h (hora en España: 22h)</strong>, intentará dar una visión clara de las cosas que se pueden hacer con AIR que no se pueden hacer con el Flash Player. Será un recorrido por las distintas APIs que caracterizan el runtime de AIR. </p>
<p>Finalmente puede que haya algo de reflexión de lo qué es AIR, el sentido que tiene y el lugar que ocupa en el mercado, etc&#8230;.</p>
<p>Aparte de mi aportación, la parrilla del evento es MUY extensa y los ponentes hablarán de cosas muy variopintas, desde After Effects hasta Flex 4 pasando por Flash Lite, Catalyst, Cold Fusion, Live Cycle, etc&#8230;</p>
<p>El evento contará con la participación de un montón de Adobe User Group managers, co-managers, y otras personalidades de la escena Adobiana. </p>
<p>Si trabajas con productos de Adobe y hablas castellano seguro que encuentras una o más charlas de tu interés.</p>
<ul>
<li><a href="http://experts.na3.acrobat.com/adobeenvivo">URL acceso al evento online</a></li>
<li><a href="http://www.adobenvivo.com/online/">Parrilla de charlas</a></li>
<li><a href="http://www.garageflash.com/adobe-en-vivo-version-online-del-14-al-18-de-julio/">Anuncio en Garage Flash</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=657</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>rialvalue.com/blog: Xavi Beumala</title>
		<link>http://www.joangarnet.com/blog/?p=653</link>
		<comments>http://www.joangarnet.com/blog/?p=653#comments</comments>
		<pubDate>Fri, 26 Jun 2009 09:29:43 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Plataforma Flash]]></category>
		<category><![CDATA[quickie]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=653</guid>
		<description><![CDATA[Ayer me enteré de que nuestro querido exiliado  Xavi Beumala tiene nuevo blog: http://www.rialvalue.com/blog/.
Con lo ocupado que anda no sé qué nivel de actualización tendrá pero estoy seguro que el contenido será excelente y de gran interés para todos los Flasheros / Flexeros.
]]></description>
			<content:encoded><![CDATA[<p>Ayer me enteré de que nuestro querido exiliado  Xavi Beumala tiene nuevo blog: <a href="http://www.rialvalue.com/blog/">http://www.rialvalue.com/blog/</a>.<br />
Con lo ocupado que anda no sé qué nivel de actualización tendrá pero estoy seguro que el contenido será excelente y de gran interés para todos los Flasheros / Flexeros.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=653</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subflash reloaded</title>
		<link>http://www.joangarnet.com/blog/?p=640</link>
		<comments>http://www.joangarnet.com/blog/?p=640#comments</comments>
		<pubDate>Mon, 22 Jun 2009 08:13:50 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Eventos Plataforma Flash]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=640</guid>
		<description><![CDATA[
La comunidad de desarrollo Subflash ha pegado un estirón y ha dejado de ser exclusivamente un foro, de hecho esto es una cosa que la organización lleva años preparando y que por fin ha dado su fruto.
Desde hace unos días cuando accedes a subflash.com te encuentras un blog repleto de información referente a la organización [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.subflash.com"><img src="http://www.joangarnet.com/blog/wp-content/uploads/2009/06/subflash_reloaded.png" alt="subflash reloaded" title="subflash reloaded" width="450" height="130" class="alignnone size-full wp-image-645" /></a><br />
La comunidad de desarrollo <a href="http://www.subflash.com/">Subflash</a> ha pegado un estirón y ha dejado de ser exclusivamente un <a href="http://www.subflash.com/foro/">foro</a>, de hecho esto es una cosa que la organización lleva años preparando y que por fin ha dado su fruto.<br />
Desde hace unos días cuando accedes a subflash.com te encuentras un blog repleto de información referente a la organización de los talleres de verano.</p>
<p><a href="http://www.subflash.com/talleres/2009/"><img src="http://www.joangarnet.com/blog/wp-content/uploads/2009/06/talleres_subflash_2009.png" alt="talleres_subflash_2009" title="talleres_subflash_2009" width="450" height="190" class="alignnone size-full wp-image-644" /></a><br />
Y hablando de los talleres de verano&#8230; no está de más mencionar que ya se han abierto las inscripciones para este año que, al igual que el pasado, van a tener lugar en <strong>Alicante</strong>. Será durante los días <strong>28, 29 y 30 de Agosto</strong> en la <a href="http://www.villauniversitaria.com/">Villa Universitaria de Alicante</a> a un precio inmejorable de <strong>100 EUR</strong>.<br />
Ahora mismo quedan 32 plazas ( yo ya he reservado la mía! ) de las 50 de las que se dispone, lo cuál no está nada mal teniendo en cuenta que solo hay una charla confirmada :)<br />
<span style="color:green;"><strong>UPDATE:</strong> ya son 2 charlas confirmadas!</span><br />
Dejo aquí algunos enlaces de interés:</p>
<ul>
<li><a href="http://www.subflash.com/talleres/2009/">Micro site talleres 2009</a></li>
<li><a href="http://www.subflash.com/talleres/2009/php/sesiones.php">Parrilla de sesiones</a></li>
<li><a href="http://www.subflash.com/talleres/2009/php/registro.php">Formulario de registro</a></li>
<li><a href="http://www.subflash.com/talleres/2009/php/mas.php">Acceso a los micro sites de otros años</a></li>
</ul>
<p>Nos vemos en Alicante!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=640</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2009 Fx+Fc AUG tour: despedida y cierre</title>
		<link>http://www.joangarnet.com/blog/?p=634</link>
		<comments>http://www.joangarnet.com/blog/?p=634#comments</comments>
		<pubDate>Fri, 05 Jun 2009 21:51:46 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Eventos Plataforma Flash]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex 4]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=634</guid>
		<description><![CDATA[Bueno, ha sido un día intenso&#8230;
El evento ha sido todo un éxito y me siento muy satisfecho en todos los aspectos. He aprendido un montón, he visto a viejos amigos, he conocido a nuevos, he visto de primera mano mis nuevos juguetitos en acción&#8230; me he pasado todo el dia spameando por Twitter las charlas&#8230;
Pido [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, ha sido un día intenso&#8230;<br />
El <a href="http://www.madeinflex.com/2009/05/19/fx4fc-2009-global-aug-tour-update/">evento</a> ha sido todo un éxito y me siento muy satisfecho en todos los aspectos. He aprendido un montón, he visto a viejos amigos, he conocido a nuevos, he visto de primera mano mis nuevos juguetitos en acción&#8230; me he pasado todo el dia <em>spameando</em> por Twitter las charlas&#8230;<br />
Pido disculpa a los que me siguen en Twitter y no les interesa Flex&#8230; habrán flipado! por otra parte agradezco a los que habéis estado comentando la jugada y me habéis animando ( aunque no os he podido responder por falta de aliento lo he apreciado, de verdad! a ver si mañana o pasado repaso las preguntas y las respondo en un post separado ). La verdad es que al final ha llegado un momento en el que sentía una responsabilidad muy grande por retransmitir el evento, que tontería&#8230; Tú dame el canto de una moneda y te monto un escenario XD<br />
En <a href="http://www.madeinflex.com/2009/06/05/fin-del-2009-fxfc-aug-tour/">madeinflex he posteado</a> un resumen del evento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=634</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Retransmisión vía Twitter del evento “Fc+Fx4 2009 AUG tour”</title>
		<link>http://www.joangarnet.com/blog/?p=630</link>
		<comments>http://www.joangarnet.com/blog/?p=630#comments</comments>
		<pubDate>Fri, 05 Jun 2009 10:13:00 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Eventos Plataforma Flash]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=630</guid>
		<description><![CDATA[Si queréis seguir el evento en directo podéis hacerlo desde mi cuenta de Twitter!
]]></description>
			<content:encoded><![CDATA[<p>Si queréis seguir el evento en directo podéis hacerlo desde mi cuenta de Twitter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=630</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash Builder 4 y Flash Catalyst en labs</title>
		<link>http://www.joangarnet.com/blog/?p=622</link>
		<comments>http://www.joangarnet.com/blog/?p=622#comments</comments>
		<pubDate>Mon, 01 Jun 2009 14:27:32 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex 4]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=622</guid>
		<description><![CDATA[Solo una recordatorio para aquellos que todavía no se hayan enterado&#8230;
Ya estan disponibles las beta 1 de Flash Builder 4 y Flash Catalyst!
Más info: 

Descarga Flash Builder 4 y Flash Catalyst
Flex 4 &#8220;Gumbo&#8221; preview

]]></description>
			<content:encoded><![CDATA[<p>Solo una recordatorio para aquellos que todavía no se hayan enterado&#8230;<br />
Ya estan disponibles las beta 1 de <strong>Flash Builder 4</strong> y <strong>Flash Catalyst</strong>!<br />
Más info: </p>
<ul>
<li><a href="http://www.madeinflex.com/2009/06/01/descarga-flash-builder-4-y-flash-catalyst/">Descarga Flash Builder 4 y Flash Catalyst</a></li>
<li><a href="http://www.madeinflex.com/2008/07/21/flex-4-gumbo-preview/">Flex 4 &#8220;Gumbo&#8221; preview</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=622</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memento: estado de un objeto (II)</title>
		<link>http://www.joangarnet.com/blog/?p=598</link>
		<comments>http://www.joangarnet.com/blog/?p=598#comments</comments>
		<pubDate>Sat, 16 May 2009 01:22:59 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[design patterns]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=598</guid>
		<description><![CDATA[En esta segunda parte ( ver parte 1 ) de la serie de posts relacionados con la implementación del patrón de diseño Memento voy a mostrar una versión mucho más genérica que simplifica su reutilización en cualquier contexto.
Los objetivos que me he marcado para realizar esta implementación son básicamente dos:

Reutilización: Crear una librería que implemente [...]]]></description>
			<content:encoded><![CDATA[<p>En esta segunda parte ( <a href="http://www.joangarnet.com/blog/?p=438">ver parte 1</a> ) de la serie de posts relacionados con la implementación del patrón de diseño <a href="http://es.wikipedia.org/wiki/Memento_(patrón_de_diseño)">Memento</a> voy a mostrar una versión mucho más genérica que simplifica su reutilización en cualquier contexto.</p>
<p>Los objetivos que me he marcado para realizar esta implementación son básicamente dos:</p>
<ul>
<li><strong>Reutilización:</strong> Crear una librería que implemente Memento de tal forma que se pueda utilizar sin tener que preocuparse de crear clases Memento concretas.</li>
<li><strong>Persistencia:</strong> Crear una capa de persistencia para que los Mementos se puedan almacenar no solo en memoria sino tambien en un SharedObject, en una base de datos, en un archivo, etc..
</ul>
<p><strong>Estructura del proyecto de ejemplo en Flex builder:</strong><br />
<img src="http://www.joangarnet.com/blog/wp-content/uploads/2009/05/memento_project.png" alt="memento project" title="memento project" width="339" height="324" /></p>
<p>Si comparamos la estructura del proyecto con la de la versión del <a href="http://www.joangarnet.com/blog/?p=438">primer post</a> se pueden ver una serie de diferencias que voy a enumerar a continuación.</p>
<ul>
<li><strong>ObjectSnapshot:</strong> Para empezar la interfaz <code>IMemento</code> ya no está y se ha sustituído por la clase <code>ObjectSnapshot</code>. Esta clase es la implementación maestra de un Memento. Gracias a esto ya nunca más tendremos que preocuparnos de implementar un Memento. Extendiendo de la clase <code>flash.utils.Proxy</code> se ha podido crear una implementación que cabe en cualquier escenario debido a la potencia que nos ofrece el hecho que es una clase dinámica (<code>dynamic</code>). Como los Mementos no son objetos que se requieran en escenarios de gran rendimiento ( yo no voy a más de 2 CTRL+Z por segundo.. :) ) el hecho de utilizar una clase dinámica no nos penaliza.</li>
<li><strong>IRestorable:</strong> Esta interfaz sustituye a <code>IOriginator</code> de la otra versión. Es básicamente lo mismo pero con otro nombre más significativo (para mi) y añadiendo par de métodos más que obligan a los implementores a disponer de un <code>IPersistable</code>.</li>
<li><strong>IPersistable:</strong> Interfaz que deben implementar todos los drivers que van a permitir guardar los Mementos (ObjectSnapshots) en distintos soportes. La condición que impone a los implementores es disponer de un método write() y otro read().</li>
<li><strong>carpeta persisters:</strong> Una colección de implementaciones base de <code>IPersistable</code>. Se puede ver que una limitación que tienen estos objetos es que las peticiones deben siempre síncronas. Igual en un post futuro esto cambia&#8230;</li>
</ul>
<p>Los conceptos son los mismos pero he intantado adaptar la implementación para que saque más partido de las características de ActionScript 3.<br />
Lo mejor es descargar el ejemplo y jugar un poco:</p>
<h2 id="toc-descarga-ejemplo">Descarga ejemplo</h2>
<p>En el zip hay un proyecto ActionScript para Flex Builder.<br/></p>
<div class="download">
<a class="downloadlink" href="http://www.joangarnet.com/blog/wp-content/plugins/download-monitor/download.php?id=44" title="Version 1.0 downloaded 119 times" >Memento II (119) - 86.09 KB</a><br />
zip
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=598</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wordpress actualizado</title>
		<link>http://www.joangarnet.com/blog/?p=596</link>
		<comments>http://www.joangarnet.com/blog/?p=596#comments</comments>
		<pubDate>Tue, 07 Apr 2009 08:32:25 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=596</guid>
		<description><![CDATA[Acabo de actualizar la instalación de wordpress a la última versión, si alguien ve cosas raras agradeceré que me avise.
Por lo demás todo bien&#8230; gracias :)
]]></description>
			<content:encoded><![CDATA[<p>Acabo de actualizar la instalación de wordpress a la última versión, si alguien ve cosas raras agradeceré que me avise.<br />
Por lo demás todo bien&#8230; gracias :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=596</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[quickie] Herramientas para webmasters</title>
		<link>http://www.joangarnet.com/blog/?p=594</link>
		<comments>http://www.joangarnet.com/blog/?p=594#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:15:05 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[quickie]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=594</guid>
		<description><![CDATA[Herramientas para webmasters de la mano de los buenos de cdmon.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nbsp.es/2009/02/27/herramientas-para-webmasters/">Herramientas para webmasters</a> de la mano de los buenos de <a href="https://www.cdmon.com/">cdmon</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=594</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AIR Download Manager</title>
		<link>http://www.joangarnet.com/blog/?p=585</link>
		<comments>http://www.joangarnet.com/blog/?p=585#comments</comments>
		<pubDate>Wed, 18 Feb 2009 03:25:33 +0000</pubDate>
		<dc:creator>Joan Garnet</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex 3]]></category>

		<guid isPermaLink="false">http://www.joangarnet.com/blog/?p=585</guid>
		<description><![CDATA[
El otro día se me planteó la duda de si sería posible hacer algo parecido a un gestor de descargas con AIR. Después de experimentar un poco con las APIs de network junto con un poco de investigación de cómo trabaja el protocolo HTTP internamente he sacado un prototipo de lo que podría ser el [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.joangarnet.com/blog/wp-content/uploads/2009/02/air_download_manager_1.png" alt="AIR download manager (prototipo)" title="AIR download manager (prototipo)" width="400" height="227" class="alignnone size-full wp-image-588" /></p>
<p>El otro día se me planteó la duda de si sería posible hacer algo parecido a un gestor de descargas con <a href="http://www.adobe.com/es/products/air/">AIR</a>. Después de experimentar un poco con las APIs de network junto con un poco de investigación de cómo trabaja el protocolo HTTP internamente he sacado un prototipo de lo que podría ser el <em>core</em> de este hipotético gestor de descargas.<br />
Aquí enumero las funcionalidades que se esperan de un gestor de descargas y si están implementadas en el prototipo:</p>
<ul>
<li><strong>pause / resume download</strong>:
<p>Esta es la funcionalidad más importante y esencial de un gestor de descargas. La posibilidad de pausar / reanudar el proceso de descargan tantas veces como sea necesario.<br />Esta funcionalidad si está implementada en el prototipo.</p>
</li>
<li><strong>multipart download</strong>:
<p>Esta funcionalidad no es esencial pero si un plus a tener en cuenta para cualquier gestor de descargas que se precie. La posibilidad de segmentar la descarga de un mismo archivo en varios hilos de tal forma que el proceso de descarga sea más rápido, hasta un 200% más rápido (existen limitaciones en la velocidad de descarga de las conexiones individuales).<br />Esta funcionalidad si está implementada en el prototipo.</p>
</li>
<li><strong>Posibilidad de persistir la sesión de descarga</strong>:
<p>Esta funcionalidad es esencial sobretodo si se quiere descargar grandes archivos que requieren que se reanude la descarga después de cerrar la aplicación o incluso hacer un reboot del sistema operativo. También es útil en el caso de caídas de red o cuelgues de la aplicación (crash recovery).<br />Esta funcionalidad no está implementada en el prototipo.</p>
</li>
</ul>
<h2 id="toc-descarga-ejemplo">Descarga ejemplo</h2>
<p>Descarga el código fuente del prototipo<br/></p>
<div class="download">
<a class="downloadlink" href="http://www.joangarnet.com/blog/wp-content/plugins/download-monitor/download.php?id=43" title="Version 1.0 downloaded 282 times" >AIR Download Manager (prototipo) (282) - 496.53 KB</a><br />
zip
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.joangarnet.com/blog/?feed=rss2&amp;p=585</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
