Este es el primero de 12 artículos que publicaré a lo largo del 2007 acerca de Adobe Flex 2. Una de las mejores herramientas para creación de aplicaciones ricas en medios para Internet. En este artículo mostraremos los pasos para crear un componente redistribuible de Flex (MXML ).
Conocimientos requeridos para entender el artículo:
- Saber crear proyectos(de cualquier tipo) en Flex
- Nociones básicas de patrones de diseño
Es recomendado que antes de continuar leas algunos de estos enlaces.
- Tutorial de Flex 2 con PHP (WebORB)
- Primeros pasos en Flex 2: Lector RSS
- Bitmap a array de imagenes con Actionscript 3 en Flex 2
- Hola mundo en Flex 2
- MXML vs AS3
Creando la librería
Para la creación de un componente redistribuible es necesario crear un proyecto de librería. Para esto debe de seleccionar:

Nombre del proyecto: En ese espacio introducimos el nombre que daremos a la librería. En mi caso, la llamaré "danonino"*. En la localización del proyecto podemos dejar la ruta default. Presionar el botón siguiente(next).
En la siguiente ventana tenemos cuatro pestañas: Clases, Assets, Ubicaciones adicionales y Ubicaciones de las librerías. Básicamente son definiciones de clases a usar, y las rutas que necesitamos(donde se encuentran clases o componentes adicionales, necesarios para compilar nuestra librería). Por ser esta nuestra primer librería no es necesario realizar alguna modificación adicional en esa ventana. Presione el botón finalizar.

Definiendo la estructura de la librería
Crearemos una estructura basándonos en el patrón MVC. **
En nuestro navegador de proyectos (Navigator) aparecerá nuestra librería "danonino". Damos click con el botón secundario del mouse y elegimos:
Tenemos nuestra estructura definida. Es momento de agregar componentes. Si eres nuevo en esto del MVC, puedes leer la entrada de la wikipedia al respecto.
Agregando componentes a la librería
Para agregar un componente que forme parte de danonino.comun, daremos click con el botón secundario del mouse sobre la carpeta común y seleccionar:
En la ventana de creación de componente, ingresaremos el nombre de su componente (Filename), que es el mismo que el nombre del archivo. Para este ejemplo llamé a su componente "MyComponent". Como este componente estará basado en "TitleWindow" elegiremos esa opción en "Based on". Por ultimo, como layout, escogeremos "Absolute". Luego, presiona el botón Finalizar.

Abre la vista diseño del nuevo componente "MyComponent" y agrega componentes a tu elección. El objetivo de este artículo es mostrar como crear un componente MXML, mas no una funcionalidad en concreto. Puedes, por ejemplo, copiar y pegar el código siguiente como ejemplo de MyComponent.mxml.
Código :
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" title="Opciones"> <mx:Label x="71" y="51" text="Seleccione una opción:"/> <mx:RadioButtonGroup id="rg"/> <mx:RadioButton x="95" y="93" label="Opción 1" groupName="rg"/> <mx:RadioButton x="95" y="117" label="Opción 2" groupName="rg"/> <mx:RadioButton x="95" y="143" label="Opción 3" groupName="rg"/> <mx:Button x="144.5" y="183" label="Seleccionar"/> </mx:TitleWindow>
Creando el archivo SWC
Selecciona el menú:
En la ventana abierta selecciona la pestaña Clases. Elije las clases que deseas incluir en el archivo SWC. En este caso activé "MyComponent". Tal como se muestra a continuación:

En output folder, seleccionamos la carpeta donde exportaremos el archivo SWC (Es importante memorizar esta ubicación). En mi caso para compartir mis SWC con mi grupo de trabajo la publicaré en mi servidor web.
Y damos "OK". Abrimos la carpeta que definimos como destino y verificamos que el archivo SWC ha sido creado.
Si ves un archivo SWC, felicidades, has creado tu primer componente redistribuible.
Probando el componente
Para probar tus componentes puedes crear un proyecto para pruebas unitarias. Para esto selecciona el menú:
Selecciona la opción de "Basic" (proyecto básico) y presiona siguiente (Next). Asigna el nombre de FlexUnit y presione siguiente (Next).
El siguiente paso es muy importante, selecciona la pestaña "library path". Posteriormente presiona el botón Add SWC, selecciona su nuevo archivo SWC y presiona OK.
En la ventana de creación del proyecto clickea "Finalizar".
Para usar nuestro componente, en el mxml del proyecto "FlexUnit" (main.mxml, flexunit.mxml o como llamaste a tu archivo principal) agrega esto en el tag de la aplicación (mx:Application):
xmlns:danonino="comun.*"
De tal manera que el tag quedaría así:
Código :
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:danonino="comun.*">
Este es un ejemplo de un MXML usando el componente que creamos:
Código :
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:danonino="comun.*"> <danonino:MyComponent> </danonino:MyComponent> </mx:Application>
Espero que este aporte sea de tu agrado, nos vemos en la próxima entrega.
PD. Si tienen alguna sugerencia/petición de cual debe ser mi próximo artículo no duden en comentarla.

Dano :
¿Por qué sólo 12? ¡¡¡queremos más!!!
Muy bueno
El próximo artículo podría ser sobre cómo estructurar aplicaciones con el MVC y un ejemplo sencillito
Por MorphX el 31 de Diciembre de 2006
Ya estaba necesitando en breve hacer componente en Flex
Estoy deseando ya el siguiente
Solo puedo decir Genial
Un saludo...
*babea
eres grande noDa una
Saludos
Por Israel Gaytán el 03 de Enero de 2007
Saludos
Isra
Por el 10 de Enero de 2007
Por john17 el 12 de Febrero de 2007
Saludos,
Excelente aporte.
Chema,lo del color de fondo, deberías probar cambiar el css.
Respecto al manejo de datos con M. SQL Server, es buena tu sugerencia, pero no me centrarlisaré en un controlador de BD en especifico, tal vez hacer un DAL(Data Access Layer por sus siglas en inglés), que trabaje con SQL Server, Oracle y MySQL.
Espero en próximos dias sacar la segunda entrega.
saludos
Por John17 el 13 de Febrero de 2007
Buscando en el WEB consegui un buen articulo de como consumir servicios WEB realizados en ASP.NET y obtener la información en formato XML, es bien sencillo, ya que solo devuelve una cadena el articulo pero es una gran aproximación. En ese mismo articulo se explica como obtener los resultados del servicio desde Flex. Lo que nose es como seria si los datos correspondieran a diferentes consultas, por ejemplo, de clientes, ventas, etc.
Que suerte haber encontrado este blog, excelentes artículos, saludos.
Por Ivanruva el 27 de Febrero de 2007
saludos
Por pacha el 14 de Mayo de 2007
Por gutierrez el 27 de Junio de 2007
Estoy iniciando el estudio en flex y sigieró que el próximo artículo pueda ser en el diseño de componentes dinámicos, es decir, que pueda enviar paramentros en el momento de llamar el componente para que me devuelva el componente con esas características.
Por stryker el 26 de Julio de 2007
Saludos Amigos Flexeros
Por Erika el 10 de Agosto de 2007
Fantástico tip!
Por victorlugue el 02 de Septiembre de 2007
Por K5 el 15 de Febrero de 2008
Por K5 el 15 de Febrero de 2008
Por luis fabian el 18 de Marzo de 2008
Por FLX el 19 de Marzo de 2008
algun tutorial completo de flex en español que me recomiendes, ya que flex es excelente y quisiera aprenderlo
Por David el 21 de Octubre de 2009
Necesito mas información
Por novita123 el 20 de Mayo de 2010
me podrias ayudar a encontrarlos