alprazolam pills imitrex tablets azithromycin 5 day dose pack ativan 5mg wellbutrin cost sildenafil online ativan price amoxicillin no prescription alprazolam blue cipro 10 mg alprazolam for sale vicodin street prices vicodin l484 vicodin online prescription ativan weight loss ativan india vicodin by mail buying sildenafil citrate cipro 1000 azithromycin generic vicodin generic name online imitrex alprzolam glucophage 5000 ativan 0.5 mg glucophage for sale vicodin online consultation cipro alternative m363 vicodin glucophage 750 cipro xl imitrex 15 mg azithromycin 200mg glucophage 1500 cipro sale medicine cipro vicodin 120 mg vicadin vicodin image glucophage 100 mg alprazolam 0.5 mg wellbutrin cr sildenafil citrate 100 price of acyclovir vicodin vs oxycodone sildenafil price acyclovir tablets amoxicillin tablets vicodin 35 98 vicodin pill markings oxycontin 100mg aprazolam norco online percocet versus vicodin wellbutrin 100 mg 500mg vicodin vicodin no rx vicodin drug acyclovir 2 imitrex uk wellbutrin 37.5 mg cipro 500mg oxycontin pharmacy glucophage 1 g acyclovir 200mg glucophage 5500 cipro 500 mg azithromycin 1gm azithromycin 3 day ativan 0.25 mg vicodin street price vicodin 5 325 imitrex price glucophage prices vicodin alternative vicodin 524 ativan without prescription acyclovir 5 times pharmacy vicodin sildenafil citrate 25mg imitrex 20 vicodin es vicodin pills glucophage 50 vicodin m366 ativan street value vicodin 5mg ativan cost order acyclovir medicine vicodin es vicodin vicodin 512 amoxicillin 875 mg overnight vicodin wellbutrin 75 mg vicodin es online vicodin from canada generic vicodin vicodin watson 349 vicodin types vicodin online pharmacy alprazolam from mexico buy oxycontin online vicodin 5 500 mg vicodin 750 oxycontin online vicodin tabs m367 vicodin 3601 vicodin imitrex 5 order vicodin online no prescription glucophage xr 500mg alprazolam 2 mg imitrex $25 drugs glucophage pink vicodin 3600 vicodin 1000mg cipro pills cipro 55 3592 vicodin prescription cipro cheap glucophage amoxicillin sale alternative to acyclovir vicodin 10 660 sildenafil purchase alprazolam next day ativan online the drug cipro ativan money orders oxycontin 20mg vicodin tab 5-500 cipro 400 mg azithromycin over the counter buy vicodin cod generic oxycontin 80mg imitrex 50 mg oxycontin 60 mg wellbutrin price vicodin no membership oxycontin mg vicodin medication cheap amoxicillin oxycontin for sale vicodin without prescription generic oxycontin 2007 online oxycontin alternative to cipro azithromycin 1000 vicodin capsule vicodin 5mg oxycontin vicodin 325 sildenafil india oxycontin rxlist oxycontin 15mg azithromycin 1 g sildenafil 100mg acyclovir n943 azithromycin 1200 alprazolam 2.5 mg acyclovir picture alprazolam overseas glucophage 5 ativan 2mg 15mg oxycontin ativan 1 mg glucophage xl 500 mg amoxicillin price alprazolam xr vicodin 3600 vicodin m367 wellbutrin 150 mg amoxicillin prices acyclovir 800mg ativan 10 mg oxycontin street value vicodin m360 sildenafil canada buy vicodin online no rx vicodin price per pill acyclovir 20 mg alprazolam uk oxycontin 100 mg cipro 85 glucophage 850mg vicodin 1000 mg oxycontin street price glucophage medication drug azithromycin alprazolam pharmacy glucophage prescription acyclovir 800 ciprofloxacin cost alprazalam vicodin otc imitrex 100 mg ativan cheap cipro cost 5113 vicodin amoxicillin 750 mg vicodin watson 385 order imitrex online 30mg oxycontin acyclovir prescription 40mg oxycontin vicodin hp cipro 550 mg vicodin m363 cipro purchase imitrex medicine vicodin 20 mg vicodin classification vicodin 15 mg sildenafil 25 alprazolam purchase imitrex 25 alprazolam sale glucophage picture wellbutrin 450 mg vicodin alternatives vicodin watson 387 alprazolam 10 mg india vicodin vicodin tylenol 3 acyclovir medicine medicine sildenafil glucophage 1500 mg 10mg vicodin acyclovir in india vicodin muscle relaxer buy oxycontin online no prescription cipro iv cheap ativan azithromycin uk oxycontin er 10 mg acyclovir 10 mg vicodin 7.5 500 mg alprazolam without prescription acyclovir costs imitrex tablet oxycontin pills wellbutrin 100mg brand name for acyclovir sildenafil citrate 25 mg vicodin per pill alprozalam alprazolam 15 mg vicodin for depression oxycontin 10mg cheap oxycontin purchase ativan drug vicodin buy vicodin from canada generic vicodin es oxycontin generic name azithromycin tablets 250 mg vicodin 600 vicodin buy no prescription vicodin 10 500 azithromycin 250 mg tab vicodin costs vicodin australia buy acyclovir sildenafil citrate 100 mg price of cipro oxycontin 10 mg buy sildenafil citrate online vicodin street value vicodin pharmacy buy vicodin no prescription vicodin 5mg 500mg amoxicillin online acyclovir 250 mg 1mg alprazolam amoxicillin pills vicodin sale cipro 500 buy wellbutrin imitrex 50 buy acyclovir online wellbutrin ssri sildenafil citrate drug azithromycin capsules acyclovir 5 mg vicodin 35 97 vicodin overseas alprazolam prices discount sildenafil attivan imitrex drug oxycontin pill id vicodin 500 5 mg vicodin generic vicodin 500mg vicodin chemical name acyclovir no prescription vicodin script vicodin es m360 vicodin milligrams cipro 750mg

Que es Flex?

Constantemente me preguntan, y tal vez a ustedes también, que es Flex. Lo siguiente es la respuesta que le envié a un amigo mió la semana pasada respondiendo a esta pregunta, y aunque es una respuesta corta, asume cierta familiaridad con lo que es Flash y al menos experiencia con otro lenguaje de programación Web.

Que es Flex? 

Esencialmente Flex es un conjunto de librerías – o framework – para desarrollo de UI ( user interface por sus siglas en ingles). Aunque ActionScript 3.0 (AS3) es el lenguaje para programar aplicaciones usando el Flex framework, AS3 no es Flex. Si el código AS3 que se programe utiliza los componentes y métodos definidos en el Flex framework, entonces se esta usando Flex. Es decir, AS3 no es por si solo Flex.

Action Script es el lenguaje utilizado desde siempre para programar aplicaciones Flash. AS3 es la última versión y  es compilado en bytecode y este es interpretado por el Flash Player ( tal como el Java Virtual Machine (JVM) interpreta Java bytecode). AS3 tiene muchas características de un lenguaje orientado a objetos aunque no todas. Tiene manejo de excepciones, procesamiento de eventos, clases e interfaces entre otras cosas. Y comparado con sus antecesores AS3 ha sido una gran mejora. AS3 es ahora un lenguaje robusto que permite el uso de buenas y mejores prácticas de programación.

Ahora bien, es completamente posible usar AS3 sin Flex, se pueden crear componentes en AS3 sin haber usado nunca componentes o métodos en Flex. Flex Builder – el IDE de Adobe para desarrollo Flex – permite compilar proyectos AS3. Estos proyectos en si, serian aplicaciones Flash hechas en AS3.

Ahora hablando de los componentes y comportamientos en el Flex framework es más fácil explicarlo si analizamos un componente incluido con Flex. Escojamos por ejemplo el TabNavigator, el TabNavigator puede fácilmente adicionado a una aplicación Flex y configurarlo para que responda a ciertos eventos a través de su API ya que el TabNavigator esta fabricado en Flex, tal como un componente Tab en Visual Basic. Dentro de Flex existen varias categorías para estos componentes, unos son contenedores de UI, otros para navegación en la aplicación, otros para efectos y transiciones, y otros para llamar servicios en el servidor. No existe un componente TabNavigator como parte de AS3. Este es un componente dentro del Flex framework.

Por otro lado, un ejemplo de comportamiento en Flex es el data binding, que en pocas palabras se comporta de la siguiente forma: cambien una propiedad y otros componentes pueden responder automáticamente sin la necesidad de que el programador registre manualmente todas estas conexiones (listeners) entre eventos. El puro AS3 no tiene data binding.
Si se usan los componentes y comportamientos fabricados dentro del Flex framework entonces se esta usando Flex. Aun si nunca se usa MXML o el Flex Builder. En teoría se podrían crear mas frameworks como Flex usando AS3, aunque eso es precisamente lo que Adobe ya hecho creando Flex para nosotros, : ) MXML es un atajo en vez de usar AS3, ya que permite declarar componentes Flex usando etiquetas (tags) en vez de script - como HTML en una pagina Web. La mayoría de aplicaciones Flex contienen MXML para crear la interface o UI y AS3 para crear la lógica. A final de cuentas en tiempo de compilación Flex toma el MXML y lo usa para generar código fuente en AS, y entonces lo compila como si hubiera sido escrito en AS3. Se podría usar Flex sin nunca haber escrito MXML y esto seria como usar la plataforma Java sin nunca haber escrito JSPs. Y tal como Java convierte JSPs a servlets y entonces los compila, el compilador Flex convierte MXML a código fuente ActionScript y entonces lo compila. No se tiene que usar MXML, ya que todo lo que se hace en MXML puede ser declarado usando AS3 usando las clases de los componentes y comportamientos de Flex – tal como se podría escribir cada JSP como un servlet, o cada pagina ASP.NET como un IE HTTPHandler, o cada pagina PHP como un script cgi. Pero es muy conveniente usar MXML, es menos engorroso en términos de mantenimiento a largo plazo. MXML es un gran atajo para el UI en Flex.

Con respecto a FlexBuilder este es solo una herramienta para crear aplicaciones Flex. Tiene un vista de diseño – design view -, que puede usarse rápidamente para crear un UI en Flex, pero esta solo sirve para cosas simples. FlexBuilder es como usar Eclipse para Java, es solo una herramienta, no la plataforma o el lenguaje. Flex esta contenido en un SDK y Adobe ofrece los comandos para compilar proyectos Flex, así que se puede usar cualquier editor de texto en lugar de Flex Builder.  Finalmente, esta respuesta no pretende cubrir 100% lo que es Flex, pero mas bien busca ubicar lo que es Flex en relación con ActionScript y Flash, tecnologías mas conocidas para la gente agena o nueva a Flex. En un futuro explicare como esta compuesto el Flex framework, y la línea de productos que lo acompañan y su lugar dentro del presente conjunto de opciones para desarrollo Web, especialmente en el universo de Rich Internet Applications

3 comments

  1. Heinmer Jul 24

    Gracias por tu explicación, esta muy completa!

  2. Ricardo Guerra Oct 29

    Muy interesante este informe!!!

  3. sabgto Nov 8

    Estoy decidiendo con que plataforma hacer una aplicación. Estoy analizando flex y me he encontrado con un problema. Cuando dibujo (vector graphics), la figura o shape que dibujo, puede encimarce sobre otros controles, esto es, se sale de su contenedor. Si dibujo un circulo muy grande, parte de este circulo se dibuja sobre los botones y otros controles, se sale de su contenedor. He estado buscando por la red y no hay información sobre esto o no la he encontrado. Es esto normal o hay que hacer algo especial para que el dibujo no se salga de su contenedor?. Creo que flex es un buen producto y se me hace muy raro que pueda suceder esto. Te agradesco de antemano la ayuda que me puedas proporcionar.
    Saludos.

Comentarios

Debe estar registrado/log in para dejar un comentario

google

google

asus