Posts Tagged Flex

El futuro cercano de Flex se llama Hero

Así es, Adobe está trabajando fuertemente en toda la plataforma Flash pero especialmente en Flex que para su nueva versión ya tiene nombre clave: Hero y viene cargado de mejoras para la arquitectura Spark.

En el sitio oficial de Adobe Open Source define tres grandes objetivos para esta publicación (release):

  • Desarrollo multi-pantalla (multi-screen): Lo que busca Adobe es que desde el mismo entorno tengamos la capacidad de apuntar a aplicaciones web, de escritorio y a dispositivos móviles con un framework unificado. Seguro esto nos ahorrara varios espacios de trabajo, pero hay que ver que tanto puede ir en contra de buenas prácticas de desarrollo.
  • Maduración de Spark: La arquitectura Spark ya le ha dado a flex una mejora en rendimiento sustancial, aunque en Flex 4 los componentes Halo se siguen teniendo en cuenta y esto a su vez no permite que se pueda mejorar del todo el rendimiento, sin embargo se vienen nuevos componentes y para mi el que más llama la atención es el Spark Datagrid (ya quiero verlo en acción).
  • Desarrollo para Aplicaciones-Grandes: Se pretende dar soporte para la construcción de aplicaciones gigantescas, mejorando algunas piezas fundamentales de la infraestructura del Framework, esto hay que verlo de cerca, por ahora no han dado a conocer mucha información.

Otras mejoras específicas y links de interés a continuación:

  • Spark Datagrid (Tier 1) – Se ha añadido el concepto de celda (cell), que le da un toque más estandar por añadir este elemento universal para las hojas de cálculo. También se han añadido un evento ItemPendingError, muy útil para cuando el llamado a datos remotos se encuentra pendiente y mejoras orientadas en general a soportar gran cantidad de datos en los DataGrids.
  • Spark Image – Mejora en el manejo de la clase primitiva BitmapImage, nuevo componente “skinneable” Spark Image y mejora en el mecanismo de cacheado y priorización de cola de carga de imágenes.
  • Manejo de librerías compartidas mejorado – Al pasar a Flex 4, el enlazado a librerías RSL’s se volvió la opción por defecto, esto ha causado que las aplicaciones tomen un poco más de tiempo en cargar las ahora 6 librerías básicas; para esta nueva entrega se han solucionado algunos de estos atascos con la automatización de removido de librerías no usadas y el “soft-linking” que permite no enlazar una clase si no es llamada por otra, esto entre otras muchas mejoras.
  • Spark Form – Flex estaba en mora de brindarnos una herramienta de formulario a la altura de los requerimientos actuales. A simple vista se ven mejoras en el posicionamiento (debido a la arquitectura Spark) y una mejora en la validación de datos con una visión más global del formulario como tal y no como Items separados.

Estas son solo algunas mejoras específicas, vienen muchas más, junto con algunas que ya están en etapa de pruebas que no he citado y que pueden encontrar en http://opensource.adobe.com/wiki/display/flexsdk/Hero.

, ,

1 Comentario

Curso de Adobe Flex en Bogotá – Abril

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 – (57) 3016640110.

, , ,

1 Comentario

Curso de Flex en Bogotá – Colombia

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.

Proyecto Flex día 1 – Ejemplo de conexión al cloud service de twitter.
Proyecto Flex día 2 – Contenedores y Navegadores
Proyecto Flex día 3 – DataBinding – Estilos – Modulos (como contenedores).

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.

Notas Importantes:

- Los ejemplos estan configurados para un trabajo con base de datos MySql corriendo en el host “localhost”, con el usuario “root” y sin contraseña.

-Al importar los proyectos de ejemplo de WebOrb deben configurar el server y añadir los argumentos adicionales al compilador:

  • -services [unidad]:\[directorio raiz servidor web]\[directorio instalación WebOrb]\Weborb\WEB-INF\flex\services-config.xml
  • Algo como esto: -services D:\server\www\weborb\Weborb\WEB-INF\flex\services-config.xml
  • Para mas info pueden ver esta guía (en inglés)

Archivos del cuarto día:

* Archivo de Servicio de WebOrb PrimerServicio.php, ruta \[directorio de weborb]\Services\MisServicios\PrimerServicio.php
* Archivo SQL para la Base de Datos usada
* Proyecto Flex día 4

Archivos del quinto día:

* Servidor WebOrb – Descomprimir en la carpeta raíz del servidor web. La consola de WebOrb debe quedar funcional en esta la url http://localhost/final/server/.
* Archivo SQL para la base de datos usada
* Proyecto Flex día 5

, ,

12 Comentarios

Tutorial – Cliente RSS en Flex

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 “Flex Debugging”.

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 parametros (GET o POST) y con esto conseguir una interacción con datos de un servidor.

Para este ejemplo usaremos un servicio web gratuito de la cadena de noticias internacional BBC, sin embargo la gran mayoría de fuentes de noticias proveen datos en formato RSS que será el que usaremos para el ejemplo, así que ustedes pueden probar con la fuente de datos (blogs, noticias, etc) que prefieran.

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 “result” con el método onResult() 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 onResult().

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;

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

]]>
</mx:Script>

<mx:HTTPService id="service" result="onResult(event)" url="http://www.bbc.co.uk/mundo/ciencia_tecnologia/index.xml" />

<mx:Button x="84" y="63" label="Traer Noticias" click="service.send()"/>

</mx:Application>

Con el código inicial en nuestra aplicación, usaremos el modo “debugging” de Flex Builder que nos permitirá rastrear 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… Así no más.

Update: Es importante tener en cuenta que para que el modo “Debugging” funcione, el flash player del navegador debe ser la versión debugger también. Esta versión la pueden descargar acá http://www.adobe.com/support/flashplayer/downloads.html. Ahí encontrarán la versión ActiveX control content debugger (Para Internet Explorer) y/o la versión Plugin content debugger (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.


, ,

4 Comentarios

ActionScript dentro de Flex (mxml)

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.

Para esto simplemente trabajamos con el tag <mx:Script> el cual es generado automáticamente por el Builder, luego de cerrar el tag como tal. Esta es la estructura básica:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

	<mx:Script>
		<![CDATA[

		]]>
	</mx:Script>

</mx:Application>

El siguiente código, ejecuta una función de Alerta definida en ActioScript desde una instancia de un botón declarada en MXML.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;

			public function alerta():void{
				Alert.show("Hola Mundo","Mi Alerta");
			}
		]]>
	</mx:Script>

	<mx:Button id="miBoton" label="Mi Boton" click="alerta()"/>

</mx:Application>

Y de la misma forma, podemos referirnos a la instancia “miBoton” desde ActionScript. El siguiente código tiene exactamente la misma funcionalidad que el anterior. Se agregó la función init que es ejecutada con el controlador de evento creationComplete y que a su vez agrega el listener de click al boton “miBoton”.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
	creationComplete="init()">

	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;

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

	<mx:Button id="miBoton" label="Mi Boton" />

</mx:Application>

, ,

1 Comentario