jueves, 31 de mayo de 2012

Analizando la anatomía de las Aplicaciones Flex


Los proyectos en Flash Builder presentan una arquitectura de desarrollo y diseño de proyectos únicos que contiene archivos mxml y AS3. Analizando un  poco el contenido de nuestro primer ejemplo de proyecto Flash Builder observamos lo siguiente:

 
Como podemos observar en nuestro modo código, el proyecto Hola Mundo; tiene una etiqueta principal que inicia y finaliza nuestra aplicación, que es un componente spark de tipo Application, que básicamente contiene instancias de tipo fx (flex), s (spark), mx (compentes mx de versiones anteriores); podemos ver que al instanciar un objeto en pantalla se debe de utilizar clases en este ejemplo utiliza una clase de tipo Label o etiqueta de texto; la cual contiene la posición del objeto en escenario, características de tipo, tamaño  y por supuesto el contenido de dicho objeto.


Ahora analizamos el explorador de paquetes de la izquierda y vamos a abrir la carpeta bin-debug que contiene todos los archivos que hacen funcional nuestra aplicación compilada, esta es la carpeta que se necesita para los RSL archivos necesarios en tiempo de ejecución, un archivo importante es el swfobject.js, que es un RSL de código abierto y que puede ser analizado en la página de google code.

La compilación de nuestros proyectos es muy importante y lo que básicamente analizare es el tamaño de los archivos en dos diferentes estructuras que son RSL librerías usadas en tiempo de ejecución y las fusionadas al archivo swf final. Vemos primero el tamaño del archivo HolaMundo.swf, haciendo clic derecho sobre el archivo y vamos a la opción propiedades, observamos lo siguiente:



 
Como podemos ver el tamaño e este archivo es aproximadamente de 78000 bytes, ahora lo que aremos es el deploy de nuestro proyecto a otro formato de construcción de la arquitectura de proyecto, nos vamos a la raíz de nuestra carpeta principal en el explorador de paquetes llamada HolaMundo, damos clic derecho y elegimos propiedades; saldrá la ventana de propiedades de todo el proyecto y lo que hacemos es modificar la opción Resourses, Flex Build Path.


 
Lo que cambiaremos será la opción de Framework Linkage,  a merge into code,  que es la opción embebida en el swf ahora tenemos que limpiar el proyecto de archivos innecesarios; vamos a Project/Clean, y OK.


 
Limpiando el proyecto la carpeta bin-debug cambia y revisando el archivo HolaMundo.swf, vemos que aumenta el tamaño por lo que se ha modificado la estructura de nuestro proyecto Builder para manejarlo en otra arquitectura de componentes.



 
Todo esto nos sirve para ver la cantidad de archivos que necesita la versión final de nuestro archivo para ser funcional y también el tamaño de un archivo que utiliza otro tipo de arquitectura de componentes, como se nota el tamaño del archivo de presentación .swf aumenta de peso y lo hace menos funcional a la hora de hacer un proyecto web.