<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>andresmaro.com &#187; Andrés Rodríguez</title>
	<atom:link href="http://andresmaro.com/author/andresmaro/feed" rel="self" type="application/rss+xml" />
	<link>http://andresmaro.com</link>
	<description>Rich Internet Applications (RIA) &#124; Flex &#124; Java &#124; Blaze DS &#124; WebOrb</description>
	<lastBuildDate>Fri, 11 Jun 2010 05:56:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash 10.1 y AIR 2.0 lo que debes saber</title>
		<link>http://andresmaro.com/242/flash-10-1-y-air-2-0-lo-que-debes-saber.htm</link>
		<comments>http://andresmaro.com/242/flash-10-1-y-air-2-0-lo-que-debes-saber.htm#comments</comments>
		<pubDate>Fri, 11 Jun 2010 05:51:26 +0000</pubDate>
		<dc:creator>Andrés Rodríguez</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://andresmaro.com/?p=242</guid>
		<description><![CDATA[Adobe ha lanzado Flash Player en su versión 10.1 y Adobe AIR para la versión 2.0, disponibles para los sistemas operativos Windows, Mac y Linux. Para Android estará disponible a finales de Junio, aunque ya está la versión beta en el Android Market.
En este artículo quiero hacer énfasis en las cosas que mas nos interesan como desarrolladores, [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe ha lanzado Flash Player en su versión 10.1 y Adobe AIR para la versión 2.0, disponibles para los sistemas operativos Windows, Mac y Linux. Para Android estará disponible a finales de Junio, aunque ya está la versión beta en el Android Market.</p>
<p>En este artículo quiero hacer énfasis en las cosas que mas nos interesan como desarrolladores, de la manera mas sencilla. Y comienzo con resaltar algo que mas allá del marketing y las palabras bonitas es muy cierto, esta versión del Player es la primera que corre de manera consistente (igual) tanto en computadores de escritorio, como dispositivos móviles.</p>
<p><strong>Mejora en el rendimiento.</strong> Flash Player corria en dispositivos moviles ya hace un buen tiempo de manera light, básicamente porque era muy pesado y los procesadores y/o las baterías no eran lo suficientemente potentes para soportar el procesamiento del Player. Así que mejorar el rendimiento y el consumo de baterías era algo necesario para sacar un reproductor decente para móviles. Esto se logró en gran parte, según palabras de Adobe, por la mejora en el manejo de memoria consumida por Mapas de Bits y la optimización del Garbage Collector.</p>
<p>Sin embargo hay otras mejoras que también suman a la hora de hacer más optimo el player, una muy interesante es la detección de la navegación por Tabs, algo muy común hoy en día, donde el consumo de memoria por las reproducciones era gigante, con esta nueva versión el reproductor detecta cuando la memoria disponible está baja y automáticamente apaga el reproductor que tengamos corriendo en otros tabs. Cabe aclarar que si lo que se está reproduciendo en segundo plano es música, el sonido permanecerá con la misma calidad que si estuviera en primer plano.</p>
<p><strong>Mejora en el manejo global de errores.</strong> Esta parte para nosotros los desarrolladores es genial. Adobe plantea un manejo de errores y predicción de estos, mucho mas detallado cuando desarrollamos y mas &#8220;sutil&#8221; cuando es el usuario final quien está en frente del error. En algunas aplicaciones muy bien hechas veiamos cuando pasabamos por alto algun detalle y se generaba un error que toda la experiencia de usuario se dañaba por el manejo de los errores. Un punto bastante interesante para desarrollo y despliegue de nuestras App.</p>
<p><strong>Multi-touch. </strong>Obviamente es de las mejoras mas publicitadas para aparatos que lo soporten, tanto de escritorio como móviles, hay que trabajar las librerias a fondo y ver como integrar nuestras interfaces ya hechas o la creación de interfaces totalmente nuevas basadas en el multi-toque. <a href="http://www.adobe.com/devnet/flash/articles/multitouch_gestures.html">Un buen tutorial al respecto es este</a></p>
<p><strong>Manejo de Navegación Privada</strong>. Interesante opción para quienes consumen datos de nuestras aplicaciones, esta opción hereda la funcionalidad de &#8220;navegación privada&#8221; del navegador evitando alojar localmente los datos reproducidos. El manejo de &#8220;shared objects&#8221; durante la navegación privada está desactivado, permanecerán activos y solo se podrán usar al salir del modo de navegación privada.</p>
<p><strong>Otras mejoras. </strong>En video los cambios no se dejaron esperar, es un tema candente en el ambiente web en este momento y urgía que Adobe atacara con cosas a nivel de video como la decodificación por hardware para mejorar el buffering, video p2p, multicast y http streaming.</p>
<p>Varias mejoras específicas para Mac, con ayuda del propio equipo del navegador Safari, para mejorar el rendimiento en todos los aspectos. Bienvenidos los comentarios de usuarios Mac a ver que tal les va.</p>
<p><strong>Y esta es una lista breve de mejoras para AIR 2.0</strong></p>
<ul>
<li>Soporte para conexiones seguras TLS/SSL.</li>
<li>Soporte para detección de dispositivos de alamacenamiento (USB, Cámaras, etc).</li>
<li>Soporte para integración de código nativo.</li>
<li>Multi-touch.</li>
<li>Nuevas librerías para el manejo del micrófono.</li>
<li>Actualización del motor WebKit para soportar HTML5 y CSS3.</li>
<li>Mejoras en la parte de impresión.</li>
</ul>
<p>Estas mejoras hacen sentir las aplicaciones hechas en AIR más libres dentro del sistema operativo, ganando en permisos para uso extensivo de este, como el manejo de código nativo y el hecho de abrir documentos directamente en la aplicación.</p>
<p>En general son cambios bastante importantes para un cambio de versión de una décima de punto, pero que no nos debe engañar. Y claramente, en próximas versiones se esperan mejoras en rendimiento y consumo de batería teniendo en cuenta todo el feedback que se empezará a generar con esta nueva versión.</p>
<p>Versiones Flash Debugger (Sí para linux también)</p>
<p><a href="http://www.adobe.com/support/flashplayer/downloads.html">http://www.adobe.com/support/flashplayer/downloads.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://andresmaro.com/242/flash-10-1-y-air-2-0-lo-que-debes-saber.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso de Adobe Flex en Bogotá &#8211; Abril</title>
		<link>http://andresmaro.com/229/curso-flex-bogota-abril.htm</link>
		<comments>http://andresmaro.com/229/curso-flex-bogota-abril.htm#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:12:22 +0000</pubDate>
		<dc:creator>Andrés Rodríguez</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Fundamentos]]></category>
		<category><![CDATA[Ria]]></category>

		<guid isPermaLink="false">http://andresmaro.com/?p=229</guid>
		<description><![CDATA[Para los visitantes de este blog interesados en profundizar en conocimientos de Flex, el Centro de Entrenamiento Autorizado de Adobe en Bogotá, Adobe Xpert esta organizando un curso para el 8 de Abril.
Información del curso: http://xpert.com.co/cursosadobe/flex.php
Información de la programación: http://xpert.com.co/programacion/
Instructor: andresmaro
Información adicional:  adobe@xpert.com.co - Teléfonos (571) 8136456 &#8211; (57) 3016640110.
]]></description>
			<content:encoded><![CDATA[<p>Para los visitantes de este blog interesados en profundizar en conocimientos de Flex, el Centro de Entrenamiento Autorizado de Adobe en Bogotá, Adobe Xpert esta organizando un curso para el 8 de Abril.</p>
<p>Información del curso: <a href="http://xpert.com.co/cursosadobe/flex.php">http://xpert.com.co/cursosadobe/flex.php</a></p>
<p>Información de la programación: <a href="http://xpert.com.co/programacion/">http://xpert.com.co/programacion/</a></p>
<p>Instructor: <strong>andresmaro</strong></p>
<p>Información adicional:  adobe@xpert.com.co - Teléfonos (571) 8136456 &#8211; (57) 3016640110.</p>
]]></content:encoded>
			<wfw:commentRss>http://andresmaro.com/229/curso-flex-bogota-abril.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Curso de Flex en Bogotá &#8211; Colombia</title>
		<link>http://andresmaro.com/203/curso-de-flex-en-bogota.htm</link>
		<comments>http://andresmaro.com/203/curso-de-flex-en-bogota.htm#comments</comments>
		<pubDate>Wed, 25 Nov 2009 00:57:36 +0000</pubDate>
		<dc:creator>Andrés Rodríguez</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[WebOrb]]></category>
		<category><![CDATA[Ejemplos]]></category>

		<guid isPermaLink="false">http://andresmaro.com/?p=203</guid>
		<description><![CDATA[Un saludo para todos los visitantes hispanohablantes que leen a diario este blog. Voy a usar este medio para publicar los archivos del curso que tuve el placer de dictar en Bogotá hace un par de días. Quedan a disposición de cualquier persona que los quiera descargar. De estos temas estaré posteando luego, así que [...]]]></description>
			<content:encoded><![CDATA[<p>Un saludo para todos los visitantes hispanohablantes que leen a diario este blog. Voy a usar este medio para publicar los archivos del curso que tuve el placer de dictar en Bogotá hace un par de días. Quedan a disposición de cualquier persona que los quiera descargar. De estos temas estaré posteando luego, así que el soporte será limitado, sin embargo las dudas las pueden dejar como comentarios.</p>
<p><a href=" http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/dia1.zip">Proyecto Flex día 1</a> &#8211; Ejemplo de conexión al cloud service de twitter.<br />
<a href=" http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/dia2.zip">Proyecto Flex día 2</a> &#8211; Contenedores y Navegadores<br />
<a href=" http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/dia3.zip">Proyecto Flex día 3</a> &#8211; DataBinding &#8211; Estilos &#8211; Modulos (como contenedores).</p>
<p>El cuarto y quinto día se hicieron pruebas y ejemplos con WebOrb, voy a dejar los archivos del cuarto día citados solamente y del quinto día subiré el servidor WebOrb completo (versión para PHP 3.5) y los archivos SQL y Flex.</p>
<p><strong>Notas Importantes:</strong></p>
<p>- Los ejemplos estan configurados para un trabajo con base de datos MySql corriendo en el host &#8220;localhost&#8221;, con el usuario &#8220;root&#8221; y sin contraseña.</p>
<p>-Al importar los proyectos de ejemplo de WebOrb deben configurar el server y añadir los argumentos adicionales al compilador:</p>
<ul>
<li>-services [unidad]:\[directorio raiz servidor web]\[directorio instalación WebOrb]\Weborb\WEB-INF\flex\services-config.xml</li>
<li>Algo como esto: -services D:\server\www\weborb\Weborb\WEB-INF\flex\services-config.xml</li>
<li>Para mas info pueden ver <a href="http://www.themidnightcoders.com/products/weborb-for-php/developer-den/technical-articles/getting-started-with-weborb-for-php.html">esta guía (en inglés) </a></li>
</ul>
<p><strong>Archivos del cuarto día:</strong></p>
<p>* <a href=" http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/PrimerServicio.php">Archivo de Servicio de WebOrb PrimerServicio.php</a>, ruta \[directorio de weborb]\Services\MisServicios\PrimerServicio.php<br />
* <a href="http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/cristalab.sql">Archivo SQL para la Base de Datos usada</a><br />
* <a href="http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/dia4.zip">Proyecto Flex día 4</a></p>
<p><strong>Archivos del quinto día:</strong></p>
<p>* <a href="http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/final.zip">Servidor WebOrb</a> &#8211; Descomprimir en la carpeta raíz del servidor web. La consola de WebOrb debe quedar funcional en esta la url <a href="http://localhost/final/server/">http://localhost/final/server/</a>.<br />
* <a href="http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/final_db.sql">Archivo SQL para la base de datos usada</a><br />
* <a href="http://c0164681.cdn.cloudfiles.rackspacecloud.com/curso_bogota_2009/dia5.zip">Proyecto Flex día 5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://andresmaro.com/203/curso-de-flex-en-bogota.htm/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tutorial &#8211; Cliente RSS en Flex</title>
		<link>http://andresmaro.com/180/tutorial-cliente-rss-en-flex.htm</link>
		<comments>http://andresmaro.com/180/tutorial-cliente-rss-en-flex.htm#comments</comments>
		<pubDate>Fri, 28 Aug 2009 02:43:08 +0000</pubDate>
		<dc:creator>Andrés Rodríguez</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Avanzado]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://andresmaro.com/?p=180</guid>
		<description><![CDATA[En el siguiente tutorial aprenderemos a hacer un llamado a un servicio de datos remoto y a darle formato al resultado de ese llamado con la ayuda del modo &#8220;Flex Debugging&#8221;.
Para este ejemplo usaremos el objeto HTTPService, que nos permite hacer llamados HTTP y recibir respuesta de estos. Opcionalmente este objeto también nos permite enviar [...]]]></description>
			<content:encoded><![CDATA[<p>En el siguiente tutorial aprenderemos a hacer un llamado a un servicio de datos remoto y a darle formato al resultado de ese llamado con la ayuda del modo &#8220;Flex Debugging&#8221;.</p>
<p>Para este ejemplo usaremos el objeto <strong>HTTPService</strong>, que nos permite hacer llamados HTTP y recibir respuesta de estos. Opcionalmente este objeto también nos permite enviar parametros (GET o POST) y con esto conseguir una interacción con datos de un servidor.</p>
<p>Para este ejemplo usaremos un servicio web gratuito de la cadena de noticias internacional <a href="http://www.bbc.co.uk/mundo/ciencia_tecnologia/index.xml">BBC</a>, sin embargo la gran mayoría de fuentes de noticias proveen datos en formato <a href="http://es.wikipedia.org/wiki/RSS">RSS</a> que será el que usaremos para el ejemplo, así que ustedes pueden probar con la fuente de datos (blogs, noticias, etc) que prefieran.</p>
<p>Este es el código inicial, instanciamos el objeto HTTPService vía MXML, le asignamos la propiedad url a la fuente de datos RSS de nuestra preferencia y controlamos el evento &#8220;result&#8221; con el método <strong>onResult()</strong> que declaramos previamente. Luego hacemos el llamado al HTTPService con el click del botón para ver la traza haciendo un breakpoint en el método <strong>onResult()</strong>.</p>
<pre class="brush: as3; auto-links: false;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;&gt;

&lt;mx:Script&gt;
&lt;![CDATA[
import mx.rpc.events.ResultEvent;

public function onResult(e:ResultEvent):void{
trace(e);
}

]]&gt;
&lt;/mx:Script&gt;

&lt;mx:HTTPService id=&quot;service&quot; result=&quot;onResult(event)&quot; url=&quot;http://www.bbc.co.uk/mundo/ciencia_tecnologia/index.xml&quot; /&gt;

&lt;mx:Button x=&quot;84&quot; y=&quot;63&quot; label=&quot;Traer Noticias&quot; click=&quot;service.send()&quot;/&gt;

&lt;/mx:Application&gt;</pre>
<p>Con el código inicial en nuestra aplicación, usaremos el modo &#8220;debugging&#8221; de Flex Builder que nos permitirá <strong>rastrear</strong> toda la estructura del resultado RSS del HTTPRequest. Para esto asignaremos un breakpoint y conociendo la estructura del RSS asignaremos las variables a las columnas del DataGrid que se encarga del resto por nosotros&#8230; Así no más.</p>
<p><strong><span style="color: #ff0000;">Update</span>: </strong><span style="color: #000000;">Es importante tener en cuenta que para que el modo &#8220;Debugging&#8221; funcione, el flash player del navegador debe ser la versión <strong>debugger </strong>también. Esta versión la pueden descargar acá <a href="http://www.adobe.com/support/flashplayer/downloads.html">http://www.adobe.com/support/flashplayer/downloads.html</a>. Ahí encontrarán la versión <a style="color: #004477; text-decoration: none;" href="http://download.macromedia.com/pub/flashplayer/updaters/10/flashplayer_10_ax_debug.exe"><strong>ActiveX control content debugger</strong> </a>(Para Internet Explorer) y/o la versión <a style="color: #004477; text-decoration: none;" href="http://download.macromedia.com/pub/flashplayer/updaters/10/flashplayer_10_plugin_debug.exe"><strong>Plugin content debugger</strong></a> (Para firefox o chrome). Como tip les digo que estas versiones se usan solo para desarrollo, sus aplicaciones ya puestas en producción solamente necesitan el Player de serie común y corriente.</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="510" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/hJN2gZuwGAA" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="510" src="http://blip.tv/play/hJN2gZuwGAA" allowfullscreen="true"></embed></object></p>
<p><span style="color: #ff0000;"><strong><br />
</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://andresmaro.com/180/tutorial-cliente-rss-en-flex.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ActionScript dentro de Flex (mxml)</title>
		<link>http://andresmaro.com/133/actionscript-dentro-de-flex.htm</link>
		<comments>http://andresmaro.com/133/actionscript-dentro-de-flex.htm#comments</comments>
		<pubDate>Wed, 12 Aug 2009 03:06:02 +0000</pubDate>
		<dc:creator>Andrés Rodríguez</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Básico]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://andresmaro.com/?p=133</guid>
		<description><![CDATA[La posibilidad del manejo de código ActionScript dentro de un archivo .mxml es una de las posibilidades que hacen de Flex una herramienta tan versátil. Si bien podemos manejar nuestro código de manera externa en archivos .as, el poder ingresar código e interactuar con los objetos que declaramos en .mxml es una posibilidad de por [...]]]></description>
			<content:encoded><![CDATA[<p>La posibilidad del manejo de código ActionScript dentro de un archivo .mxml es una de las posibilidades que hacen de Flex una herramienta tan versátil. Si bien podemos manejar nuestro código de manera externa en archivos .as, el poder ingresar código e interactuar con los objetos que declaramos en .mxml es una posibilidad de por si, muy productiva.</p>
<p>Para esto simplemente trabajamos con el tag &lt;mx:Script&gt; el cual es generado automáticamente por el Builder, luego de cerrar el tag como tal. Esta es la estructura básica:</p>
<pre class="brush: xml; auto-links: false;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;&gt;

	&lt;mx:Script&gt;
		&lt;![CDATA[

		]]&gt;
	&lt;/mx:Script&gt;

&lt;/mx:Application&gt;
</pre>
<p>El siguiente código, ejecuta una función de Alerta definida en ActioScript desde una instancia de un botón declarada en MXML.</p>
<pre class="brush: as3; auto-links: false;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;&gt;

	&lt;mx:Script&gt;
		&lt;![CDATA[
			import mx.controls.Alert;

			public function alerta():void{
				Alert.show(&quot;Hola Mundo&quot;,&quot;Mi Alerta&quot;);
			}
		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:Button id=&quot;miBoton&quot; label=&quot;Mi Boton&quot; click=&quot;alerta()&quot;/&gt;

&lt;/mx:Application&gt;
</pre>
<p>Y de la misma forma, podemos referirnos a la instancia &#8220;miBoton&#8221; desde ActionScript. El siguiente código tiene exactamente la misma funcionalidad que el anterior. Se agregó la función <strong>init</strong> que es ejecutada con el controlador de evento <strong>creationComplete</strong> y que a su vez agrega el listener de click al boton &#8220;miBoton&#8221;.</p>
<pre class="brush: as3; auto-links: false; highlight: [3];">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;
	creationComplete=&quot;init()&quot;&gt;

	&lt;mx:Script&gt;
		&lt;![CDATA[
			import mx.controls.Alert;

			public function init():void{
				miBoton.addEventListener(MouseEvent.CLICK,alerta)
			}
			public function alerta(e:MouseEvent):void{
				Alert.show(&quot;Hola Mundo&quot;,&quot;Mi Alerta&quot;);
			}
		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:Button id=&quot;miBoton&quot; label=&quot;Mi Boton&quot; /&gt;

&lt;/mx:Application&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://andresmaro.com/133/actionscript-dentro-de-flex.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
