Flex SDK = Java SDK?

Ahora que el SDK de Flex es gratis, podriamos hacer una comparación con Java en terminos de “kit de desarrollo“, dando como resultado la siguiente ecuación:

Flex SDK = Java SDK + JFCML

Es decir, Flex SDK son dos compiladores:mxmlc y compc (mediante los cuales podemos compilar ActionScript 3 y MXML) y el código fuente del framework de clases y componentes para crear aplicaciones Flex. Por otra parte, el SDK de Java tiene entre otras cosas, el compilador javac y el framework de componentes Swing. Faltarí­a un lenguaje de marcado tipo XML para Swing, como contrapartida a MXML. Buscando por la web he encontrado JFCML(aunque parece ser que existen más).
Evidentemente, ambos lenguajes son muy diferentes, asi como sus objetivos, pero querí­a resaltar el caracter de software gratis, que no libre, que hace que Flex y Java sean, hoy dí­a…bastante parecidos, ¿no os parece?.

28 Comentarios

  1. Bueno Carlos, como parece que nadie ultimamente postea nada y tu comunicación se hace mas bien unidireccional, voy a tomarme unos minutos de molestia por las muchas horas que te tomas tu por nosotros.

    Realmente no me esta convenciendo el open source de flex, ya que como todos sabemos el desarollo de una aplicación de tamaño mediaño a considerable sin un IDE , un framework y un buen Debugger (cosa que ha hecho que al final este desarrollando todo ultimamente en .NET) es tarea de cavernicolas, en mi opinion si flex aportase un plugin para eclipse como hizo en la primera beta de flex mas o menos entonces si me pareceria algo razonable. Ademas siento decirtelo carlos, mi paso al lado oscuro se hace cada vez mas evidente. Tengo mucha afición al desarrollo de videojuegos y la verdad es que simpre me empecine en JAVA por su versatilidad y porque desde que salio siempre pense que se convertirí­a en lo que flash afortunadamente es ahora, sin embargo, he estado jugando con la clase Bitmap de flash8 en diferentes algoritmos de isometrico (es la unica forma de hacerlo sin que la carga del pc suba al 85 o 90% probadlo) y estudiando diferentes algoritmos me he metido en directx y tios… ¡¡vaya pasada!! un engine con tiles en 3D en directx es tan facil como en 2D, que digo!! miento!! tengo que trampear directx y emular 2D ya que directX es practicamente direct3D y que pasada!!

    lo siento pero el tito Gates ya me ha enganchado, porque hacer un webservice con .NET esta tirado, porque el ide del .NET es genial a la hora de Depurar, porque el framework esta muy bien hecho, porque XML en NET esta tirado y el equivalente a JFCML es nativo en NET, porque instalo y practicamente solo necesito WSE para tenerlo todo, porque ADO.NET es muy cómodo y porque hay mucho hosting para .NET y esto hay que apuntarlo bien que ya estoy harto de JBOSS , de que no exista practicamente hosting J2EE y menos con JONAS que hasta el dia de hoy y que yo sepa solo hay uno proveedor que de hosting con JONAS en España, porque estoy cansado de tener que instalar sin exagerar 6 plugins a eclipse (webTools, mas los previos necesarios) y sin contar Hibernate, Lomboz, etc…

    En fin, que lo siento, reniego… reniego de mi origen… reniego de JAVA y eso que ahora Flash y Java van tan de la mano… cuando acabe este post desinstalare cualquier framework JAVA para el resto de mis dias, y mi consuelo sera jugar con esa pequeña nueva maravilla que es ATLAS (Ajax para .NET) y eso si que es ajax sencillo macho… aunque para php esta xajax que esta muy bien os lo recomiendo a los phperos no hay que escribir ni una linea de javascript solo php.

    Y otra cosa mas o flash empieza a pensar en 3D ahora que AS3 es más rápido o empiezo a mirar Sparkle como el hijo prodigo que solo tiene que aprender a correr en otros SO como ha hecho .NET con el proyecto mono.

    do you .NET?

    d

  2. Hola David, gracias por todas esas referencias en tu comentario :).

    Ahora bien, creo que el proposito de Flex es diferente al que tu persigues. Por lo que leo, parece que tu foco está más orientado en soluciones que necesitan exprimir al máximo el jugo de tu procesador, como es el caso de los juegos 3D. Flex es una solución para crear aplicaciones ricas en internet multiplataforma. La solución de Microsoft es muy distinta y tiene un mercado muy diferente. Ya no tiene sentido hablar de “Flashkiller”.

    Por otro lado Flex NO es Open Source, el SDK es gratis. Son conceptos muy diferentes. Adobe, al igual que Microsoft, es una empresa que tiene que vender sus productos y sacar un margen. Por ello la estratégia es sacar un SDK gratis (como Java) y vender el IDE y los servicios empresariales. Otra cosa es que surjan, al igual que con Java, proyectos de software open source.

    Apartir de aquí­, es de esperar que conforme pasen los meses y si el producto tiene exito, lo cual es lo que ya está pasando en el resto del mundo, empiecen a parecer productos Open Source entorno a la tecnologí­a (IDEs, servicios,etc…).

    Lo bueno, David, es que las tecnologí­as, hay que usarlas en su contexto, por eso tenemos la diversidad de lenguajes y plataformas, para poder elegir libremente que solución es la optima para resolver nuestro problema.

    “…si flex aportase un plugin para eclipse como hizo en la primera beta de flex…” . Flex Builder 2 es un IDE basado en eclipse, pero también es un plugin para este. De hecho, yo recomiendo instalarlo en tu distribución de Eclipse para poder desarrollar Java y Flex sin salir del mismo entorno.

    Por otra parte, debo decirte que siempre me atrajo .NET, pero no he tenido el tiempo, ni la necesidad hasta el momento., y no descarto que en un futuro también me meta con esta tecnologí­a ;).

    En cuanto a AJAX, bueno hay si que no tengo mucho que decir…aunque la mona la vistan de seda…;).

    Saludos, y gracias por tus aportaciones! 🙂

  3. Hola Carlos, acabo de leer el post de davidgo y es cierto que últimamente nos estamos guardando demasiados comentarios a todos tus artí­culos. Al menos en mi caso, la razon está en que generalmente me quedo sin palabras después de leerlos. Lo único que pienso es ¡¡MENUDO MAKINíƒÂ“N!!.
    Yo estoy a años luz de ti en cuanto a conocimientos AS, justo me defiendo con AS1 y poco más. Pero ya llevo muchos años en todo el tema web y sin ser programador lo que más admiro en tus artí­culos es lo bien explicados que están (aunque no entienda nada ;-)) y que en todo lo que publicas se puede ver un aire de profesionalidad muy grande. No te limitas a hacer ejemplillos “tontos”, siempre buscas complicarte la vida lo más posible y siempre con una razón.
    Animo!! y sigue deslumbrándonos.
    PD: Espero que en tu empresa estén contentos contigo y tú con ellos. Si planteas los proyectos de la misma manera que los artí­culos deberí­an estar más que satisfechos. Hay pocos PROFESIONALES con tus capacidades,

  4. Ramón, mil gracias por tu comentario 🙂
    Me alegra que te guste lo que posteo, la verdad es que disfruto mucho con la tecnologí­a y escribiendo en este blog sobre todos esos pequeños experimentos o noticias que me motivan y pensando que hay “alguien” detrás que le interesa lo que tengo que decir. Por todo esto mensajes como los tuyos, me motivan mucho para seguir intentando escribir contenidos de calidad. 🙂

    PD:Por cierto, tengo que reñirte…¿que haces todaví­a programando en AS1??? ;P

  5. Hola Tocayo, te saludo desde Mexico. Me parece muy interesante el tema de tu blog (RIAs), investigando un poco sobre flex llegue a tu sitio. Y cada vez que investigo, mas me interesa.. todo parece indicar que la siguiente generacion de aplicaciones en internet giran en torno a adobe flex. pero aun tengo muchas dudas.. no existe flex builder para os x.. y tengo entendido que por lo tanto tengo que usear Eclipse e instalarle en compilador Flex SDK… estoy en lo correcto?

  6. Efectivamente, la solución, hasta que Adobe de soporte a Mac, pasa por usar Eclipse WTP + ANT para automátizar las compilaciones y obtener code hinting para mxml al menos.

  7. baje el Flex SDK y el Eclipse para Mac. es correcta la instalacion como menciona en este sitio?
    http://www.darronschall.com/weblog/archives/000182.cfm

    -He visto aplicaciones hechas en Flex (mxml) y en Dreamwaver useando Coldfusion (cfm) Desde los dos se pueden lograr lo mismo? (apariencia flash y contendo dinamico)

    -mi host es coldfusion y subo un mxml y cuando indico la ruta, no lo ejecuta.. lo descarga? en cambio un .cfm sin problemas.

    necesito ayuda para entender las herramientas de esta nueva revolución.

  8. La intalación que propone Darron es de la epoca de Flex 1.5. Entonces WTP estaba en version 0.7. Ahora es cuestión de utilizar el mismo concepto y añadirle scripts de ANT para automatizar la compilación.

    No soy un usuario de Coldfusión, solo te puedo decir que las nuevas versiónes de CF han ido incorporando parte del framework de flex adaptandolo para coneguir rich forms, pero creo que CF es más limitado. Con Flex 2 hoy en dí­a tenemos mucha más flexibilidad (nunca mejor dicho ;))

    Si tu host te da CF no tiene por que soportar Flex. Flex en verión servidor es una aplicacion WAR (aplicación we Java), la cual es capaz de resolver peticiones de archivos mxml, compilandolos a SWF y sirviendolos como si fuesen JSP (por poner un paralelismo con Java).

  9. Serí­a importante aclarar que componentes o tecnologias son los que realmente fueron liberados para su uso.
    Dentro de lo que se comprende como Flex SDK, se incluyen componentes para comunicacion Cliente/Servidor como RPC o SOAP WS ?
    O estos solo son distribuidos con el paquete Flex Data Services el cual es pago?
    Cual es el verdadero alcance de la liberacion del Flex SDK?
    Se pueden desarrollar aplicaciones de pequeño porte (ni pensar en mediano porte, mucho menos hablar de gran escala…) sin contar con el FlexBuilder y con los Flex Data Services?
    En que medida el SDK es autosuficiente al momento de planear un proyecto a desarrollar con el mismo?
    Respecto al FlexBuilder, es notorio y resaltable el cambio sufrido entre la version 1.5 y 2.0.
    El pasaje de una herramienta basada en DreamWeaver a otra fundada en un core Eclipse deja ver una clara orientacion al desarrollador antes que al diseñador como era en la version previa.
    Esto yo lo agradezco y aplaudo.

  10. Hola Luciano,

    Ya he hablado de esto otras veces en este blog, y la blogosfera o en concreto adobe labs está lleno de información, pero volveré a esquematizarlo:

    * Flex SDK: Es gratis (como el JDK de Java). Incluye 2 compiladores (MXML y AS3) + Flex Framework. Permite conecxiones HTTPService (XML sobre http, GET/POST, REST) y WebService (SOAP).
    Solo con esta pieza te puedes plantear soluciones complejas, si además quieres unas Remoting con AMF0 y OpenAMF o AMFPHP, puedes ver montones de ejemplos por la web o en este blog buscar por FLOPE.
    A la hora de desarrollar puedes empezar usando Eclipse WTP + ANT.
    Es decir, no tienes limitaciones para crear RIAs de alto nivel.

    * Flex Data Services 2: Versiones gratis y de pago. Todaví­a no han salido los precios pero según todas las informaciónes obtenidas las versiones gratuitas estarán licenciadas, teoricamente, por numero de usuarios concurrentes. Existirán versiones departamentales, y licencias Enterprise. Es decir, habrá aplicaciones para pequeñas intranets que podrán usar FDS2 de forma gratuita, y en general, cuanto mayor sea el campode acción de una empresa y mayores los beneficios de usar esta nueva tecnologí­a, mayores serán los precios.(lo cual…parece justo ¿no?)

    * FlexBuilder 2 IDE: de pago. Normal, es una herramienta para aumentar la productividad, pero no es una pieza clave de la tecnologí­a. Yo lo compararí­a con los IDEs que existí­an en Java en sus comienzos (Kawa, JBuilder, Visual Cafe). Es normal que sea de pago, pues Adobe no deja de ser una empresa que debe sacar margen en sus productos y pagar salarios.

    *Flex Charting Components: de pago. Son los componentes de gráficas, cuyo uso suele ser empresarial.

  11. Pingback: .:: carlosrovira.com - RIA Development ::. » ¿OSFlash ha influido en la evolución de Flex?

  12. Hola Carlos,

    Realmente soy nueva en este campo pero tengo un problema con la instalación de FLEX 2.0 Beta 3, no se como conectarlo con eclipse. Creo que estoy completamente perdida, espero que me puedas ayudar.

    Saludos

  13. HOLAS COMO ESTAN BUENO ESPERO KE ME AYUDEN ESKE ES URGENTE PLEASE OK… LO KE NECESITO EL UN INSTALADOR PARA MIS PROGRAMAS CREADOS EN ECLIPSE 3.1 PLEASE SI ALGUIEN SAVE COMO ME LO PASA OK EN BLINK_182GF@nullHOTMAIL.COM…. EN REALIDAD LO KE NECESITO ES KE KIERO EXTRAER MIS PROGRAMAS CREADOS EN ECLIPSE PARA PODER EJECUTARLOS EN OTRA PC SIN NECESIDAD DE TENER INSTALADO EL ECLIPSE .. OK SI LO TIEENES PLEASE MANDENLO ES KE ES MUY URGENTE . BYE ………………

  14. Por fin me he decidido a participar.
    Antes de nada Felicitar a Carlos, por sus articulos, y casi más que por estos por sus posteriores repuestas o aclaraciones a preguntas sobre los mismos, da gusto sentir tal profesionalidad, casi periodí­stica, al escribir y explicar.
    A Natalie decirle que para eclipse existe un plugin de flex: Flex Builder 2, un ejecutable sencillisimo con todos los pasos para utilizar flex. Aqui te va el link para los pasos de instlalacion: http://www.adobe.com/support/documentation/en/flex/2/install.html

    Por cierto, estoy desarrollando una aplicación en Flex, y necesito conectarla con Java, probablemente mediante llamadas RMI o a un servlet, todaví­a no tengo claro, como se embebe codigo java en el MXML para poder llamar a métodos en java, alguien puede ayudarme?
    Gracias a todos.

  15. Hola Sarandon,

    No tienes que embeber código Java en el MXML. Normalmente se suelen usar RemoteObjects que conectas a tus clases java en el servidor, de forma que puedes invocar a metodos de una clase java desde tu clase AS3 o MXML.

    También puedes usar HTTPService (XML sobre HTTP, que serí­a la tí­pica llamada request/response usando GET o POST), y WebServices.

    En FDS existen además los data services…

  16. Lo siento ya ha funcionado, faltaba la } final de la clase. Ya lo habia probado, pero no me solucionaba el problema por eso plantee la pregunta. A veces un reinicio…

    Saludos y gracias de nuevo.

  17. Hola davidgo. Quisiera contactar contigo para poder comentar contigo algo acerca del tema que expones. ¿Que necesitarí­a según tu una herramienta para poder hacer RIAs en 3D? ¿La verias util? Multiplataforma por supuesto.

  18. Hola Carlos,

    Realmente soy nuevo en este campo pues soy desarrollador net, pero por un tema de trabajo he tenido que informarme de lo que es flex y sus capacidades como ambiente y plataforma de desarrollo de aplicaciones RIA. Entonces me atrevo a preguntar si podrias orientarme de donde sacar informacion desde que es lo que necesito para correr aplicaciones flex hasta documentacion de action script 3, pues por lo que he leido, ha sido bien ajustado a lo que es C.

    Esto lo necesito pues debo implementar algunas funcionalidades casi de bajo nivel, y deseo saber si flex es capaz de proveerme estas capacidades.

    De antemano te agradezco, y me despido

    Claudio

  19. Hola gente

    lamento molestarlos ya que veo que en general la gente que postea por aqui tiene muy buenos conocimientos, yo soy principiante en flex, y por estos dias tuve que empezar a investigar por cuestiones laborales, mis conocimientos de AS son bastante basicos y hace poco empece a investigar tambien php, en este momento tengo que lograr que php reciba una variable de flex para realizar una consulta y flex debe tomar los datos de un xml generado en el mismo php

    mi consulta es como le envio una variable desde flex a php, y como hago que php la reciba para realizar una seleccion del tipo
    select* from tabla were marca=variable recibida de flex
    y con el resultado generar los datos para que flex muestre la informacion solicitada

    no creo que sea algo demasiado complicado para uds. pero agradeceria mucho su asistencia

    hasta ahora logre que flex lea correctamente el xml generado por el php
    y muestre correctamente los datos de la consulta

    Gracias
    Gabriel Kierszenbaum

  20. Saludos!!

    Soy nuevo en cuanto a el uso de ECLIPSE y necesito instalar el SDK de Flex 2 porque la version de prueba de Flex Builder ya me expiro. Alguien de ustedes me podia indicar los pasos que tengo que hacer para instalarlo o sabe de una pagina en la cual pueda checarlo??, Muchas gracias por su atención. que tengan buen dia!!

  21. Bien he leido gran parte de los comentarios que hasta ahora han hecho en tu blog. En particular te puedo decir que desde que salio Java 1.1 he seguido su crecimiento y me enfoque practicamente a desarrollar aplicacion hechas 100 en Java. Hasta hace unos meses todo hiba bien sin embargo te puedo decir que siempre tuve ganas de tener en mis aplicaciones mejores GUI’s que el usuario al ver mi aplicación no tuviera ningun pretexto. En alguna ocasion se me ocurrio utilizar una presentacion hecha en flash al cargar mi aplicacion, mas que nada para hacer algo diferente a lo que habia estado haciendo. Mi sorpresa fue cuando mi cliente me dijo ‘Lo que mas me gusto de la aplicacion es la presentacion’. En ese momento me dije: ‘¿Por que intentar desarrollar aplicaciones con este tipo interfaces tan amigables para el usuario?’, entonces despues de muchas pruebas fallidas me di cuenta que las librerias del Swing de Java nunca serian la solucion. Te puedo decir que desde mi punto de vista Sun se ha retrasado mucho en el desarrollo de herramientas y librerias que permitan el desarrollo rápido y eficaz de aplicaciones que ademas de FUNCIONALES sean VISUALMENTE IMPACTANTES. Mi experiencia me dicta que el cliente lo que mas le interesa es que la aplicacion sea SENCILLA, AMIGABLE Y VISTOSA. A pesar de que se pueden hacer excelentes interfaces en Swing, los programadores java siempre estarán desenado que sus aplicaciones se vean o al menos se parezcan a lo que se puede desarrollar con Flash y en particular con Flex y Apollo. Ahora muchos me dicen, “PUEDES OCUPAR DE BACKEND J2EE Y DE FRONTEND FLEX”, bueno eso es cierto pero tambien es cierto que es mas dificil entontrar hosting para desarrollo J2EE. Sin menos preciar a Java creo que cada dia Java se esta volviendo en un lenguaje mas de aplicaciones de escritorio que para utilizarlo realmente en aplicaciones WEB. Si no me crees, preguntate ¿POR CADA 100 PAGINAS CUANTOS APPLETS HAS VISTO? ¿CUANTOS SITIOS CUENTAN CON APLICACIONES DE SERVIDOR BASADAS EN J2EE? ¿ES JAVA MAS PORTABLE QUE FLASH? Y pudieramos hacer otras mas. En fin espero que Java mejore, porque la comunidad de desarrolladores ya no se contenta con cualquier cosa.

  22. Bueno, después de llevar 20 años en este mundo del desarrollo, he visto muchas cosas. Señores, hay que ir a lo práctico. Tenemos hosting para .net y tenemos flex para el front end, pues utilicemoslo. Puede ser que no desarrolle una tecnologia a fondo, pero para cada proyecto utilizo la herramienta que necesito. Que tengo que aprender algo nuevo? Pues si, esa es una parte de nuestro trabajo y por cierto, a mi me encanta. Estoy desarrollando una aplicacion con flex conectando con servicios web .net. Estoy haciendo una aplicacion en JAVA ME para conectar con esos mismos servicios. Si veo que no puedo, pues los haré en J2EE. Trabajo normalmente en Delphi, porque , además de ser una herramienta extraordinaria ( Delphi y .Net son hijos del mismo padre), tengo un móntón de codigo y un montón de componentes para hacer cosas muy buenas. Que Delphi no es predominante ? A mi que más me da, si me hace ganar pasta. Java para escritorio, nunca me ha gustado. Lo de las layouts es un co..zo. Visual studio 2005 está genial porque te permite hacer aplicaciones web con ajax de manera facil. Y tambien apliaciones para windows mobile, plataforma ampliamente extendida. Así­ que debemos de evangelizar menos e investigar más para dar un mejor servicio y en definitva, ganar más dinero dandole al cliente lo que verdaderamente necesita. Tengo un cliente con un supermercado y necesita un visor de precios. Pues le monto apache, aprendo vbscript y le hago un script en php para que me busque en la base de datos y me visualize el precio en el visor. Puede ser que nunca más utlice php pero mi cliente tiene un sismtema que funciona. He leido foros evangelizando JAVA y al final encuentro un montón de gente que para hacer una pantallita necesita instalar cuatrocientos mil plugins. Flash está en el 90% de los ordenadores del planeta. El sistema operativo s60 de symbian está en 100 millones de telefonos. Aprovechemoslo.

  23. Hola a todos, estan muy interesantes los blog, es notable la diversidadd e comentarios en cuantoa las tecnologias, pero yo soy un fanatico y defensor tambien de las herramientas de software libre, quizas no tenga todas las experiencias de todos aqui, es algo que quisiera lograr pero solo con el tiempo podria ir adquiriendolas, en fin quisiera expresar mi criterio ya que estoy en mi tema de tesis, y para optar por mi titulo de Ingeniero en ciencias informaticas he estado hace mucho tiempo tras una investigacion y pienso llegar al resultado porque no em quedaré de brazos cruzados, es menos cierto que ha disminuido el trafico en OSflahs, pero mucho seguimos pensando que todo es posible, mi tema de tesis es el analisis de un IDE para desarrollar productos en formato multimedia, soy algo ambicioso verdad, pero es solo un analisis, tengo un equipo de desarrolaldores en un proyecto de la universidade y muchos me apoyan, y espero lograr integrar todas las herramientas posibles para hacer objetiva mi investigacion y cumplir mi sueño,….quisiera poder estar en contacto y tener cotutores como ustedes, escribanme please a asanchezmaturell@nullyahoo.es

    saludos
    Al.

  24. Hola, estoy desarrollando actualmente algunas aplicaciones en flex 2.01 y el unico inconveniente que he encontrado es que no se como realizar reportes, de la unica forma que me imagino como hacerlos es conectar mi aplicacion con java y utilzar el ireport. El problema es que no se como realizar esta conexión, si alguien pudiera ayudarme o darme una luz de como realizar esta conexión o como manejar los reportes se los agradeceria muchí­simo.

    Bye

  25. Hola Andrea,

    Existe un proyecto llamado FlexReport. No tengo a mano la url, pero seguro que google e orienta. No es todaví­a una solución que abarque todo pero puede ser un buen comienzo…

  26. Hola estoy comenzando a trabajar con Flex, quiero hacer un Cuadro de Mando Integral, necesito saber si puedo graficar tomando datos de dos o mas tablas de mi base de datos.
    Les agradesco cualquier ayuda que me puedan brindar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *