viernes, 13 de junio de 2008

Desarrollando con Flex, flexmdi, PureMVC, BlazeDS, Spring, JPA, Hibernate,... (parte 3)

Aunque el artículo anterior habrá sonado un poco descorazonador, tengo que confesar que la aplicación está casi terminada. Pronto pasará a estar en producción y podremos comprobar el éxito o el fracaso -espero que sea lo primero- del producto desarrollado y de las decisiones que he ido tomando a lo largo del proyecto.

Algunas cosas que han cambiado con respecto a lo previsto:
  • Estoy utilizando MySQL como base de datos, para la fase de desarrollo. La aplicación en producción funcionará contra un Oracle 10g. El coste de crear una aplicación que permita seleccionar una base de datos u otra ha sido... "cero"!!! (gracias JPA).
  • Estoy utilizando Tomcat 5.5 como "servidor de aplicaciones", para la fase de desarrollo. La aplicación en producción funcionará sobre un Oracle Application Server (realmente un OC4J 10.1.3). En mis pruebas funciona, además, perfectamente sobre un JBoss 4.2. El coste de crear una aplicación que permita seleccionar un servidor de aplicaciones u otro ha sido... "cero"!!! (gracias J2EE).
  • Como entorno de desarrollo utilizo, exclusivamente, Eclipse y aunque tengo montado Flex Builder (la versión Trial) como un plugin de éste... apenas lo utilizo, al menos intento no utilizarlo. Me las apaño con Apache Ant y con las Flex Ant Tasks para compilar mi librería SWC y mi proyecto SWF. No he encontrado ninguna herramienta Open Source y/o gratuita con la que pueda desarrollar con Flex (parece mentira a estas alturas).
  • Del resto de los productos que pretendía utilizar, menos de la librería flexmdi (y creo que me arrepentiré de no haberlo hecho) he hecho uso de TODOS ellos. Esto se llama... puntería ;-)
  • Además he incorporado JasperReports y su diseñador de informes iReport para generar informes, que exporto a PDF y que muestro desde la aplicación Flex (realmente los muestro sobre el navegador web). El tema de los informes en Flex debería estar un poco mejor tratado.... debería estar tratado, al menos.
  • Una ayuda muy especial para depurar nuestro código es ThunderBolt, una extensión para "tracear" aplicaciones Flex sobre la consola de Firebug del "add-on" para Firefox.

Desarrollando con Flex, flexmdi, PureMVC, BlazeDS, Spring, JPA, Hibernate,... (parte 2)

Después de 2 meses sin dar señales de vida he querido, al menos, escribir sobre la marcha de mi primer proyecto Flex. La verdad es que con esta experiencia estoy teniendo sentimientos contradictorios según el día.

Hay días que me digo: "que bueno haber descubierto Flex". Hay otros que me desconsuelo y me digo: "en qué demonios estaba yo pensando cuando me metí en esto de los RIAs".

Creo que el principal problema es que había puesto demasiadas expectativas.

No nos engañemos, el desarrollo de RIAs era ya posible, estaba en nuestra manos, desde el principio de los tiempos.

No nos engañemos el desarrollo de RIAs para la web estaba en nuestras manos desde los primeros días JAVA, mediante la creación de applets que hacían uso del vetusto API AWT. Yo he visto hace más de 10 años aplicaciones, incluso participado en ellas, alucinantes, que no tenían nada que envidiar a las actuales aplicaciones Flex.

Flex ha venido a recordarnos que esto es posible, mejora un poco -faltaría más- las dificultades que nos encontrábamos con el AWT y añade bonitas animaciones y sombras a nuestros componentes.

Respecto a esto, creo que Flex está poniendo mucho más énfasis en que podamos cambiar los estilos y las "pieles" de nuestras aplicaciones y componentes, hasta extremos innecesarios, que el potenciar aquello que realmente nos hace la vida más fácil a los desarrolladores de productos para la web. Creo que deberían buscar un equilibrio...