Hoy fui a la convencion de Java, y al igual que el año pasado, estuvieron los vendedores de Cubika gritando a los cuatro vientos que saben usar Flex… bravo chicos, los felicito.
Ahora, una cosa es vender su productito, y otra muy distinta es defenestrar a la tecnologia que pretenden reemplazar con esa porqueria de Flex.
Decir que para hacer uso de Ajax, drag&drop de bloques de codigo y todas las mentiras que tienen en su definicion de RIA, hay que ser un gurú del HTML, CSS y Javascript esta lejos, muy lejos de la verdad. Con el agravante de que lo dijeron en una convención de Java, donde la mayoria de los tipos no tienen NPI de lo que es HTML. Lo unico que provoca esto es darles mas incertidumbre.
En el evento, ellos crearon una aplicacion muy sencilla, de la cual mas adelante yo voy a crear mi propia version, asi puedo ver y comparar ambas. Ellos usaron:
Sofware
- Servidor Flex
- Esto es de pago y es un servidor pesadisimo, mucho mas que un Tomcat.
- Flex Builder
- Un pedazo de IDE que es un plugin de Eclipse, pesadisimo.
- Flash
- No lo usaron en la demostracion, pero si uno quiere personalizar minimamente la aplicacion, necesita FLash.
Conocimientos
Si para hacerlo en HTML hay que ser un gurú, para hacerlo en flex hay que ser un manosanta, ya que ni siquiera hay libros que expliquen como funciona.
Ni hablar de comunidades, porque Flex es un producto desarrollado por Macromedia, por lo tanto los desarrolladores, son empleados nomás y no hay soporte comunitario.
- MXML
- Es como si fuese xHTML, pero con tags totalmente distintos, osea, en lugar de aprender HTML que es lo que usa cualquier user agent, no, aprendamos otra serie de tags totalmente distintos, que ganas de joder…
- ActionScript 3.0
- Cómo? No sabes Actionscript? No servis, como vas a hacer web y no saber esto!
- CSS y Javascript
- Pero cómo? No es que usabamos Flex para evitar usar estas tecnologias que solo las conocen los gurues? Si bueno, pero los estilos en flex se declaran como en CSS.. y de Javascript algo hay que saber viste…
- Java
- Si, todo lo que es el server side de Flex esta basado en Tomcat, asi que acostumbrate a las excepciones y mañas feas que tiene Java, pero la parte buena es que si sabes Java, le podes pasar el objeto a Flex, ahorrandote el XML intermedio, GUAU! …
El resultado de su ejemplo fue el siguiente, tenian un XML armado, con un listado de productos, este XML era parseado por el servidor Flex y lo presentaba en un contenedor, de la cual uno podia hacer drag&drop a otro contenedor que habia en la derecha y si clickeaba podia ver la descripcion del item en un tercer contenedor.
Mi versión
Yo no soy ningun gurú ni nada por el estilo, y sin embargo logré hacer exactamente lo mismo que esta gente, pero usando NotePad++, xHTML, CSS y script.aculo.us. Todas herramientas open source y lenguajes estandares y en menos de 15 minutos.
Mejor dicho, no hice exactamente lo mismo, hice algo mejor, porque mi version es accesible desde muchisimos mas clientes que su aplicación. No necesita de Flash player 9 (que no es la version de flash que tiene todo el mundo… y en Linux muchisimo menos).
Despues para estar en igualdad de condiciones, cree el parser del archivo XML, lo cual me llevo unos 20 minutos mas (esto ellos ya lo tenian hecho en Flex). Use PHP, cURL y una funcion que encontre buscando en Google.
Pueden ver mi script funcionando aca, si ven el código fuente van a ver las técnicas de gurú que use para poder lograrlo, son tan complejas que la mayoria se va a quedar atónito…
El que quiere descargarlo, es totalmente libre de hacerlo.
Que algo quede bien claro, no estoy en contra del uso de Flex, de hecho, lo uso en algunos proyectos y para hacer graficas creo que es de lo mejor y mas flexible que hay hoy en dia. Pero para hacer sitios o aplicaciones web, NO, no esta bien usar Flex, no esta bien usar algo que no es accesible desde cualquier dispositivo y nunca jamás esto va a poder reemplazar al HTML.








