Categoria: Flex (9 articulos)
April 22, 2006

Flash Player 9 y algunos detalles mas.

Como algunos sabrán el Flash player 8.5 que se encuentra en estado beta, ahora se llamara Flash player 9. Con esto Adobe se evitara conflictos ya que la próxima versión de Flash (Blaze) estará basada en el mismo player.

Además este player tiene muchos cambios que lo diferencian bastante con sus antecesores y por eso es mejor diferenciarlo bien de sus predecesor (8) y darle un numero unico (9). Aquí algunos detalles:

Primero quería mencionar que ahora el player tiene dos virtual machines. Una sirve para correr todas las versiones anteriores, desde la version 1 a la version 8. La otra sirve para correr las versiones 9 en adelante. Esto fue implementado así por que ahora la nueva versión de ActioScript tiene un nuevo bytecode que se diferencia bastante de las anteriores.

También se le agrego un verificador de bytecode que analiza los bytes a medida van bajando y verifica que el bytecode no tenga errores y que sea legitimo. Esto ayuda a resolver los problemas con anticipación.

Esta nueva virtual machine también posee un nuevo garbage collector (recolector de basura) mucho mas inteligente que va limpiando la memoria que no se usa mas en nuestra aplicación.

También existe el JIT (just un time compilation) que lo que hace es transformar las instrucciones que están el en bytecode del archivo swf a código nativo de la maquina. Permitiendo que el código se ejecute mucho mas rápido ya que es nativo en el procesador, el proceso es similar a lo que hace java con su virtual machine.

Otra cosa interesante del nuevo player es que hay una versión para los desarrolladores que es el debug player y que permite ver los errores en la aplicación a medida que van pasando, en tiempo real (runtime exceptions). Esto es increíble ya que facilita mucho la programación.

Por el lado de las librerías de código, ahora tenemos dos librerías muy importantes incomparadas directamente en el player.

Una es el Focus manager. Y la otra es el motor de Eventos (EventDispatcher) que también ahora es parte del player. Gracias a esto todos los objetos que se muestran en la pantalla (ósea que están el la diplayList) poseen los métodos necesarios para trabajar con los eventos debido a que heredan de la clase EventDispatcher.

Bueno para terminar les digo que todo estos beneficios los tenemos si hacemos código en ActionScript 3.0. También prometo que el próximo post no va ser tan freak :)

October 27, 2005

Cristalab Online 2

Cristalab Online 2

El Sábado, 26 de Noviembre será la próxima conferencia de Cristalab (gratis y para todo el mundo). La cual incluirá varios temas interesantes como:

  • Chats con soporte de webcam sin servidores, en Flash 8
  • Creación de componentes en Flash 8
  • Proyectos corporativos de alto nivel con herramientas Open Source en Flash
  • Creando sitios web con CSS, XHTML y aproximación a paginas semánticas
  • Instalación y primera aplicación en Flash creada en un entorno 100% libre, FAMES
  • Bases de datos en Flash 8 con Flash Remoting 2
  • Presentación de nuevos proyectos de Cristalab. Y Esto es Cristalab
  • Aplicaciones para Internet con Flex Builder 2 y Actionscript 3

Gracias a Freddie y a toda la gente del Clab por organizar este tipo de eventos, y gracias ademas por invitarme ;). Ahí estaré presentando la conferencia de Flex y ActionScript 3

Para mas info visiten Cristalab Online 2, y espero verlos por ahí

April 27, 2005

Nuevo server + Flex

Estrenando nuevo server!!! ahora tenemos un Dual 3.02 Ghz + 4 Giga de Ram :)
wow suena lindo dicho asi.

Ademas del cambio de server ahora que hay mas capacidad en el procesador me puse a instalar Flex ( bastante me costo por que conflictuaba con el flash remoting de ColdFusion).

Aca les va un hello world desde flex, y esto es solo el comienzo, voy a ver si pongo mas ejemplos a medida de que valla haciendo. Y supongo que Daniel tambien nos mostrara lo que aprendio en su curso :)

Para el que le interese intalar Flex junto con coldfusion professional aca les dejo los pasos que segui:

  • Correr el cd de flex el cual creara un carpeta flex dentro de C: > programs files>Macromedia>flex
  • Ahi esta una file flex.war Esa file hay que expandira, lo mas simple es cambiarle de nombre a flex.zip y usar el deszipiador preferido :)
  • Luego copiar a la carpeta C: > ColdFusionMX7 > wwwroot > WEB-INF las files que estan dentro del zip de flex en la carpeta WEB-INF > flex (copiar la carpeta flex entera)
  • Copiar ahora las files que estan dentro del zip de flex WEB-INF > lib hacia la carpeta C: > ColdFusionMX7 > wwwroot > WEB-INF > lib ( son cuatro jar files flex-bootstrap.jar, etc)
  • Luego por ultimo hay que juntar la web.xml file que esta en el zip de flex > WEB-INF> con la web.xml file que esta en C: > ColdFusionMX7 > wwwroot > WEB-INF

Bueno eso es todo, para mas info mirense esta technote en ingles donde explica como hacer para juntar la web.xml file.

December 30, 2004

Gracias Macromedia :D

Me llegó esto hoy :

Daniel Fernandez,

Thank you for your interest in the non-commercial license of Macromedia Flex. Your application has been reviewed, and you have qualified for this license under the "Non-Commercial, Non-Institutional" section of the license agreement.

To receive your license of Flex, you will need to review and accept the license agreement. As you review that license, please pay attention to section 3, the "Non-Commercial, Non-Institutional" section, as those terms specifically define your use of this license

Ya nada mas falta que me ponga de acuerdo con Nahuel para ver si se puede instalar y como le hariamos (ya habiamos hablado algo ahora que se vino de visita a México en el FFM). Ahora si podre subir aplicaciones y ejemplos para que los vean. Hasta parece que fue el regalo de navidad.

Saludos!!!
December 13, 2004

Flexstore en Universidades de México

Chale, recien me acabo de enterar de que a lo mejor me mandan lejos. Y como todo buen politico, fue a través del periódico (a mi nadie me dijo nada).

noticia

Me siento como carne de cañon... :S
December 09, 2004

Instalación de Flex en Mac




Continuando mi serie de tutoriales llamados "si, soy friki y uso mac" detallare la instalación de Flex, Afortunadamente un compañero de mi clase, el cual es un afortunado programador de Unix que se ha unido a la religión de la manzana, encontró esta dirección (alabado sea San Google Tadeo) donde nos explican como poder instalar el servidor Macromedia Flex en Macintosh. Desde el principio me di cuenta que era posible usando el servidor Tomcat tal como lo especifica los requerimientos de la pagina de Macromedia, y como algunos sabran, Tomcat esta disponible para MacOS X. De igual forma se podria usar el JRun4 de Macromedia, pero parece tener problemas con Panther, tal como lo experimente con la instalación de ColdFusion. Como recordatorio les comento que Flex se compone de dos partes, un servidor donde se suben un archivos “mxml” que se compilan solo una vez al estilo de los servlets y un editor WYSIWG que es practicamente un Dreamweaver modificado, llamado Flex Builder, que sirve únicamente para facilitarnos la vida en la creación de los mxml, y se puede prescindir del dicho editor. Siempre podremos programar con el viejo Bbedit o con el Dreamweaver normal, solo que nos deberemos aprender los tags cuyo diccionario lo encuentran en los livedocs de Macromedia. Si quieren usar el Flex Builder, pueden correrlo con el Virtual Pc, pero seguramente alentará mucho la computadora y puede resultar fastidioso. Lo que veremos en este minitutorial es la instalación del servidor, el cual es necesario ya que ahí es donde se compilan los archivos mxml.

Para comenzar, bajemos cualquier instalador de Flex. Según el link que me pasaron, dice que no importa si es el instalador de Windows, Linux o Unix, pero como yo tenia el de Windows, trate de hacerlo con ese y nunca encontré los archivos que menciona, asi que procedí a bajarme la distribución de Unix donde si encontré lo que buscaba (asi que les recomiendo que descargen ese). Posteriormente sigan estos pasos:

1.- Instalen el servidor Tomcat. Opcionalmente pueden utilizar su cd de Developer Tools que viene con cualquiera Mac relativamente reciente, concretamente el paquete ApplicationsServerDev.pkg. Sino, pueden descargar el servidor desde aquí. Las instrucciones vienen ahí mismo y son muy sencillas de seguir.

2.- Abran Macintosh HD -> Applications -> Utilities -> Terminal. Para ver donde se encuentran escriban ls y para navegar usen cd “folder_donde_quieran_ir”. Ya que lleguen al folder que contiene su archivo flex-15-sol.bin creen ahí mismo un folder llamado Flex con el comando mkdir Flex (o si quieren, manualmente) y escriban lo siguiente:

unzip -d flex flex-15-sol.bin

Esto provocara que se descompriman los archivos y se separen los instaladores de los archivos fuentes necesarios para el Tomcat.

3.- Vayan a Macintosh HD -> Library -> Tomcat -> webapps y ahí mismo creen dos folders, flex y flexsamples

4.- Regresen a su folder donde quedaron los archivos descomprimidos y vayan a R_ -> dist y dentro encontraran los archivos flex.war.zip y samples.war.zip. El primero muevanlo a Macintosh HD -> Library -> Tomcat -> webapps -> flex y el segundo a Macintosh HD -> Library -> Tomcat -> webapps -> flexsamples.

6.- Desde la Terminal lleguen a estos folders y en el caso del folder “flex” ya dentro escriban la siguiente linea:

jar -xvf flex.war.zip

En el caso del folder de “flexsamples” escriban lo siguiente:

jar -xvf samples.war.zip

Esto provocara que se descompriman los archivos y se creen los subfolders correspondientes. Ya hecho eso, pueden tirar a la basura tanto el samples.war.zip como el flex.war.zip.

5.- Reinicien (o inicienlo) el servidor Tomcat y automaticamente se descomprimirán los archivos. Si usaron el instalador del sitio oficial, y ademas agregaron el modulo de preferencias lo podrán hacer desde System Preferences -> Tomcat. Ahora ya pueden accesar a sus archivos en http://localhost:9006/flexsamples/


Acuerdensé que deben mover sus mxml ahi mismo y hacer una peticion via navegador que provocara que se compilen los archivos.

Eso es todo, ojalá les sirva este tutorial.
December 08, 2004

Qué es Flex? Parte 2

Ahora ya tengo un poco mas de tiempo, ademas de que he podido analizar con mayor detenimiento esta tecnología. Ya les he contado que Flex practicamente se trata de desarrollar aplicaciones en Flash como si fuera html, generandote el diseño automaticamente. Ademas de poder agregar codigos y estilos a la manera de Javascript y Css, toda la programación del swf se genera a base de componentes. Incluso te incrusta los preloaders, detectores de plug-in y te crea el html donde va el archivo Swf. Lo curioso es que el html generado no es a base de estándares, y el mxml (Macromedia XML) que se compila como swf si esta definido con los mas estrictos estándares heredados del famoso extended markup language (o sea... xml). Aquí hay otro detalle a tomar en cuenta : como recordarán, a partir del Flash Player 7 se implementó una medida de seguridad que tiene que ver con el ya tan comentado Policy File. Sucede que el framework de Flex te permite conectar tus componentes, cuando requieres carga de datos externos, mediante HTTP, Web Services o Remote Objects (Flash Remoting de Flex), incluso aunque estos se encuentren en otros servidores, y es en esta ultima situación la que nos ha dado muchos problemas. La carga de datos en servidores externos no la haces directamente, ya que a final de cuentas el que tiene implementado el Policy File es el Flash Player, no el servidor Flex, y eso no se puede cambiar. El truco radica en que se utilizan unos archivos proxy's que vienen en las librerías de Flex, aunque nosotros no nos demos cuenta del proceso y todo aparente ser igual. O sea... utilizamos el tag's WebService y especificamos una url externa. Posteriormente nada mas debemos especificar un atributo llamado useProxy="true". Una solución algo cínica por parte de Macromedia para volarse su propia medida de seguridad. La ventaja es que ya no dependemos del servidor externo, sino del nuestro donde hay mas posibilidades de tener control, mas concretamente, en el swf. Lo que hace Flex es que crea unos componentes que en lugar de apuntar directamente al Web Service (o HTTP's y Remote Objects), apunta a un archivo proxy que radica en nuestro mismo servidor y hace de puente. Como les decía, nosotros no nos damos cuenta de eso ya que todo es automático, y es una interesante (por no volver a decir cínica) solución al problema. Lo malo es que nos cuesta 12,000 dls :P

Ya para terminar este post les cuento que el viernes hago el examen para la certificación de instructor, ademas de que deberé desarrollar una aplicación en Flex para terminar todos los requisitos. Estaba pensando en hacer un blog con todo y panel de administración, no se que opinen o si tienen una mejor idea. Un compañero de la clase quiere desarrollar una galeria de fotos. Sea lo que sea que desarrolle, subiré los archivos fuentes para que los vean :)

Saludos!!!

December 07, 2004

Qué es Flex? Parte 1

Como les comente, estoy tomando un curso de Macromedia Flex impartido por Matt Boles, un reconocido instructor de Macromedia y coautor del manual de certificación de ColdFusion. A grandes rasgos he podido ver hasta ahora de que se trata exactamente esta tecnología. Para comenzar les contare que se constituye por dos partes, la primera es un editor muy parecido al Dreamweaver que sirve para crear los archivos MXML. Por el otro lado tenemos el servidor Flex que compila los archivos ya mencionados. Porque es tan novedosa esta tecnología? Principalmente porque te permite generar swf como si fuese html. Imaginense, un editor tipo Dreamweaver donde tienes un modelo de tablas mas sencillo que el de html (solo que este se escribe en un XML llamado MXML) donde vas definiendo tags que sirven para describir componentes. De hecho, todo lo haces con componentes. O sea, si quisiera poner un TextArea ya con texto dentro sería asi:<br /><br />&amp;lt;mx:Button text=&amp;quot;Hola Mundo&amp;quot;/&amp;gt;<br /><br />Prácticamente todo se maneja como html. Para declarar código actionscript se hace a la manera de dhtml (combinación de javascript y html) mediante unos tags <mx:Script> y usando <[!CDATA[]]> para que pase sin problemas un validador de XML, ademas de que se pueden declarar funciones en eventos como en dhtml:<br /><br />&amp;lt;mx:Button click=&amp;quot;miFuncion()&amp;quot;/&amp;gt;<br /><br />En el ejemplo anterior obviamente deberé haber declarado anteriormente la función "miFuncion". También se pueden cargar hojas de estilos Css que vendrían a ser los estilos de componentes. Se pueden hacer el Css incrustado en el documento con un tag <mx:Style>, con hojas externas o con el método in-line.


Ahora, si enumeremos las ventajas:

  • Rápido desarrollo de RIA's.
  • El diseño se genera automáticamente.
  • Es muy fácil de usar.
  • Se pueden crear hojas de estilo para todo nuestro sitio y optimizamos los tiempos de diseño.
  • Se automatiza todo el proceso mediante componentes y data binding.
Y que serían las ventajas sin su contraparte? aquí enumero las que encontre:

  • El framework básico pesa 100k (es demasiado).
  • En el aspecto de diseño se queda muy limitado.
  • Cuesta 12,000 dls la licencia.
  • Enfocado a programadores de hueso colorado.
Estas son las generalidades de esta nueva tecnología, luego les cuento mas, nada mas tenga tiempo y pongo algunos ejemplos (si consigo un servidor con Flex que me presten o los 12,000 dls que cuesta para que yo lo compre :P).

Saludos!


November 24, 2004

Macromedia Flex

Al parecer voy a tener la oportunidad de tomar un curso de Macromedia Flex impartido por Matthew Boles, quien es un conocido Master Instructor de MM y es coautor de la guia de estudio de certificación de ColdFusion. La verdad soy afortunado de haber recibido una de las invitaciones y lo mejor de todo es que será gratuito (no se si los demás asistentes tengan que pagar, supongo que si). Nahuel me ha explicado algunas cosas acerca de esta tecnología que parece muy interesante y prometedora. Se supone que es un servidor que te permite generar contenidos RIA (Rich Internet Applications) como por ejemplo un swf. Todo se programa en un lenguaje llamado MXML el cual es una versión XML de Macromedia a través de un editor WYSWYG (esto es aparte del servidor), que según me cuenta Nahuel, es como un especie de Dreamweaver modificado. A primera instancia, y viendo los ejemplos de la pagina de MM, no parece muy complicado usar esta chuchería de 12,000 dls (ojalá no lo rompa). La idea de MM es promocionar en México esta tecnología, pero dudo que alguien aquí tenga suficiente dinero para comprar el Flex aquí, aunque pero no por eso dejare de tomar el curso :P . Además se supone que esta enfocado a diseñadores y algunos tipos de desarrolladores visuales por lo que leí en la página de Macromedia.

Alguién sabe mas acerca de Flex? Para que nos vayamos enterando de como esta la cosa.