Cubika cubika cubika

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.

38 thoughts on “Cubika cubika cubika

  1. No se por que invierten guita y tiempo en desarrollar aplicaciones y formatos propietarios para hacer cosas que ya se pueden hacer con herramientas libres.
    Si emplearan esa guita y tiempo en fomentar los estándares, estoy seguro todos terminaríamos beneficiados.
    En fin. Nada nuevo bajo el sol de nuestro mundo capitalista.

  2. interesante ejercicio, desconocia el poder de script.aculo.us habra que darle una revisada y si di la verdad… no nos engañes… si eres un guru jajaja!!

  3. Seria bueno ver por donde viene la mano de las mentiras que dice esa gente, si es porq no saben nada de XHTML, CSS, Javascript, PHP, etc.., o si talvez mienten porq estan bancados por la empresa que comercializa el software, lo que seria algo bastante perverso sembrar desinformacion por algo de dinero, pero es una practica ya muy comun en nuestro pais

  4. @ckozus: No se en la reunion ya que estuve el ultimo dia y hable con muy poca gente. Pero fui a dos cursos de Java, uno de ellos certificado por Sun, y en ambos casos los profesores tuvieron que dedicar un dia a explicar las bases de HTML porque los alumnos no sabian ni como escribir un tag. Y para peor, el profesor maqueto con tablas.. imaginate.

    Y hasta creo que es logico, Java es un excelente lenguaje, pero no esta pensado para hacer web, y se nota, es lo menos agil que vi en mi vida.

    De todas formas siempre hay excepciones, pero de los que yo conozco, ni saben ni les interesa saber o aprender sobre HTML, CSS ni cualquier cosa que haga a la interfaz de la aplicacion, son gente de logica de negocios… puaj.

    @Guido: Su negocio es posicionarse como los referentes en el uso de Flex en Argentina, y dar capacitacion con esto. Al final del evento sorteaban unas becas para esto creo.

    @marcoss: Ojo, el evento estaba bueno, yo estoy hablando de esta charla en particular.

  5. En realidad creo que tanto vos como cubika estan seriamente equivocados. Primero voy a empezar por cubika. Si verdaderamente venden una tecnología (herramienta, blah) como una simple “cosa-para-que-tengamos-drag-and-drop-en-el-mundo” entonces no tienen ni idea de lo que estan vendiendo. El potencial de flex esta MUY LEJOS de ser eso. Si, tal como vos lo demostraste, cualquier desarrollador web de medio pelo en quince minutos puede agarrar y crear una paginita con dos listas y un drag and drop…. vamos! eso no le quita el sueño a nadie.

    Lo que te vende Flex, y creo que ahi es donde esta su verdadera potencia, es algo parecido a lo que un los applets de java (salvo que sin muchas de las varisa contras de tener que desarrollar un applet), en otras palabras, un ambiente de objetos vivo y feliz en el cliente, transparencia en las invocaciones, un estado, canales de comunicacion bastante piolas, la capacidad de que mi vista observe mi modelo (eeeh, felicidad, nos estamos acercando al MVC? Nos tomo 10 años casí). Todo eso adornado con varias cosas:
    - La opcion de hacer mi aplicacion cliente tan declarativa o tan programatica como me sea necesario!! (en el html/css lo unico que tenes declarativo es el como se ve, el comportamiento esta necesariamiente definido via scripts de js que te terminan molestando la vida).
    - Orientacion a componentes: Creeme =) es verdaderamente increible. Si, puedo usar componentes en alguna tecnologia de generacion de html (JSF, JSP, velocity, blah). Pero, el problema de esos componentes es que, una vez concluido su fase de generacion de un-gran-string-con-el-codigo-html-y-javascript mueren, desaparecen, kaput, se finite. Los componentes el Flex estan vivitos, los tenes ahi, mientras tu cliente esta corriendo podes enviarles mensajes y ellos pueden modificar su comporamiento acorde a ello. Son objetos por dios! =D!
    - Facilidad. Oh dios, se que vas a decir: Yo en el HTML me la re banco porque construyo lo que quiero, con lo que quiero, y lo hago como quiero. El problema es que esa capacidad no es la estandard del universo. Innerentemente la solucion de montar una aplicacion (y estoy hablando de una aplicacion, no de una paginita) sobre la web clasica te trae cientos de problematicas aparejadas que no deberían estar ahi. Recien un tal “ckozus” dijo: blah blah blah blah no se interesan en aprender HTML y CSS… son gente logica de negocios (inserte tomo despectivo). Hermano, en el mundo del desarrollo que anda ahi afuera yo te diria: “el 90% de la gente tendria que ser ‘de negocio’”. Porque justamente es “negocio” lo que nos pagan para hacer, el negocio es el que en un sistema previsional le da el plato de comida a fin de mes al jubilado, la vista es una forma de presntarlo… y la tecnologia de la vista es algo que deberíamos reuir lo mas posible.

    Me parece que en el desarrollo de la tecnologia esta el punto de quiebre. Para explicar lo que quiero decir me voy a dar la libertad de catalogar las aplicaciones en 3 grupos (recontra arbitrarios y que no planean formar una particion):
    a. Aplicaciones web clasicas: Es decir, orientadas a formulario, stateless en el cliente (estado en la session del server cuando mucho), llenas de pedidos y respuestas. Perdon, pero construir algo de verdad arriba de eso es totalmente insalubre. ¿Posible? claro que si! De hecho uno podria construir abstracciones sobre este modelo de pedido y respuesta para tratar de hacer todo mas potable. Apostaria mis riñones a que vos que lo estas leyendo lo hiciste alguna vez. Aunque tambien es posible cavar un pozo con un tenedor.
    b. Aplicaciones web ricas (ajax inside =)): Un recontra re avance. Las que estan bien construidas son muy buenas. Depende mucho de fwk de ajax usado o desarrollado. Las he visto con orientacion a componentes, con un un js recontra re disfrazado que me ahorra miles de pequeños problemines (alguien fue a la conferencia de Gavin King la semana pasada, cuando mostro su aplicacion con JSF+Seam?).
    c. Aplicaciones Flash (Flex, openLazzlo): Al principio leer esto me pareceria una barrabasada. Hacer aplicaciones en flash?! Yo uso eso para hacer dibujitos!.. blah bleh blih. Bueno, ahora tratando de ser mas open minded y viendo desde una perspectiva mas adulta podemos arribar a la conclusion de que hoy en día flash no es mas que una VM como cualquier otra, con un lenguaje muy poderoso (ActionScript rlz, tiene construcciones que hasta tacharia de calificar como mucho mejores que Java. Aunque le falta todavia desarrollo de fwks y cosas arriba – la sdk es bastante anemica actualmente). Eso me da un poder muy pero muy pero muy superior a un simple renderer con un pequeño interprete embebido.

    Ahora, si admito que Flex tiene sus desventajas, pero son MUY DISTINTAS a las que mencionas vos.

    - Si, AS3 tenes que aprenderlo, curtite. MXML? No es mas que otra forma de escribir AS3 (solo que declarativa). Pero que me vengas a decir “hay que aprender nuevos tags”, me parece hasta te diría… ironico. Es que no son tags, no son “mostrame aca en negrita viteh”. Son componentes. Si queres aprendes a utilizar los que tenes, si queres haces los tuyos, con tu comportamiento, con tu logica, el poder es infinito ahi. Que tiene una curva de aprendizaje, si la tiene. Pero he visto con un desarrollador el cual no tenía la más minima idea de como usar Flex o algo por el estilo hizo en un día un wizard de 7 páginas que en java + alguna-tecnologia-web-parecida-a-jsp-y-struts me hubiera llevado casi lo mismo a costa de hacer un codigo bastante dificil de mantener (si, puedo agregar todas las abstacciones que quiera, pero la teconologia subyacente hace que mi interaccion con el sistema sea antinatural!) y el codigo que tengo oh, es pequeño, prolijo, y hace exactamente lo que quiero. Quizas es una impresion mía, pero la curva de aprendizaje es minima.

    - Javascript y CSS: Si, los estilos se declaran con CSSs. CSS es lo mejor que tiene todo web, por que ser tan taxativo para tirar lo unico bueno afuera. ¿Javascript? Aqui no te entiendo, porque decis que algo de js hay que saber. Si haces algo en flex posta no lo usas para nada (es como decirte que para programar en java tenes que saber algo de smalltalk, osea, blah, podes saberlo… pero wtf??).

    - Serverside: En realidad puede montarse arriba de cualquier webserver, yo lo tube un tiempo corriendo sobre apache. Tiene integracion OBVIA con ColdFusion (=P). Si lo usas sobre java lo bueno es que tenes construido un fwk que te permite utilizar un canal AMF (algun protocolo raro para serializar objetos) de fomra de poder enviar objetitos desde el server al cliente y visceversa sin necesidad de crear un overhead en el desarrollo de un instrumento de comunicacion. Ahora, si no queres desarrollar el server en java porque te parece pesado y poco productivo, empiezo a ver una vertiente. Quizas no es una solucion que apunte a resolver tus problemas.

    -Que es propietario? WTF. La verdad no entiendo la paranoia del mundo OpenSource (he de decir que Flex si es libre, no es OS, al igual que la JVM). Si okey, soy de las personas que si tienen que ponderan con igual peso a algo OS que a un producto propietario, pero verdaderamente la alternativa OS de Flex (openLazzlo) me parece bastante verde en comparación =) aunque le tengo su respeto y posiblemente algun dia se venga con fuerza.

    Ahora, las verdaderas desventajas para mi son:
    - Algunas herramientas son pagas: El builder es muy bueno, a pesar de ser pesadisimo, laburar sin el es bastante molesto a veces. Asi que chan, adobe nos abrocha por ahi, pero si lo pienso bien… yo voy a lucrar con eso. Es simplemente renunciar a una porcion del pastel a cambio de un poco mas de eficiencia. Okey, soy un cerdo capitalista, soy programador, vendo mis servicios a una empresa que vende los suyos. No me parece mal que ella tambien compre servicios de otra. Es lo justo.
    La comunidad, si me parece fundamental, pero es muy temprano para saber que pasa, habra que esperar para ver (Roma no se fundó en un día).

    -El hecho de generar SWFs es bastante choto, genera un bytecode grandote que le termina mandando a mi cliente… mmmm… falta laburo ahi! No podes generarme una cosa bestial y mandarmela de una!. =) Pero repito, el tema esta verde…

    Es otra cosa que yo digo cuando hablo de la diferencia entre HTML y AJAX contra Flex y Flash… me parece que las primeras estan usando la tecnologia al 99%, estan explotando una pobre cosa diseñada para mostrar paginas de contenido para hacer cualquier cosa. Flex y Flash estan al 10%, lo que puede crecer todavía esta rama es impresionante (posta, tienen potencial).

    … creo que al fin y al cabo solo decidira la tiranía del mercado. Esta bastante loco.

    En fin, creo que por la mitad me había aburrido de escribir.

    Saludos,
    Claudio

  6. Premio al comentario mas largo de la historia!

    No lo termine de leer pero hago una aclaracion, el que dijo, son gente de logica de negocios fui yo, y lo hice sin tono despectivo, sino con tono de asco, ya que es realmente feo encerrarse en eso, a mi gusto.

    Despues termino de leer y respondo.

  7. @Claudio: Buen comentario, evidentemente conoces muchisimo Flex (capaz que hasta diste conferencias y todo… :P)

    Esta perfecto, Flex da para muchisimo mas que una paginita con drag & drop lo dejaste clarisimo. Pero el punto es, que no es accesible. Es volver a 1998 y decir: Este sitio se ve mejor con Flash Player 9. Y al no cumplir con algo tan basico ya el resto, pierde todo el peso que pueda tener.

    Y lo que realmente me molesto de la conferencia fue cuando dijeron: Hay que ser un guru para desarrollar estas cosas, cuando tanto las demos oficiales que mostraron, como lo que hicieron, es todavia mas facil de hacer en HTML que en Flex.

    Yo vengo jodiendo con usar estandares en desarrollo web hace años y con mucho esfuerzo logro imponerlo en los lugares donde trabajo. Que digan algo asi delante de todos, es como que yo vaya y diga: Flex es una bosta. Se entiende?

    Despues lo que sea propietario no me jode, pero si me jode que haya que pagar una licencia para usar el servidor. Mas alla que lo pague un cliente, yo lo pongo en la lista de contras ya que yo mismo soy muchas veces mi propio cliente.

    Javascript: En la demostracion de ayer tiraron un par de lineas no entendi muy bien para que, pero asi lo hicieron.

    Gente de logica de negocios: Eso depende, a mi lo que me pagan por hacer es interfaz (y agradezco por eso), la logica de negocios tiene que ser una consecuencia de la interfaz y no un causal.

    En fin, gracias por pasarte a comentar.

  8. Diego, la descarga de Flash Player 9 es completamente gratuita, hay version para todos los browsers (o al menos no se de nadie que use uno para el cual no haya), y es automatica cuando entras al sitio. No se por que parece tan terrible.
    Sinceramente pago ese precio a cambio de todo lo que me da (que ya lo dijo Claudio), y agrego: en cualquier browser funciona EXACTAMENTE IGUAL y se ve EXACTAMENTE IGUAL, una aplicacion no trivial la tuve abierta a la vez en Opera, IE y Firefox y era identica. Y sin necesidad de poner ni una linea en mi aplicacion para manejar versiones de browser.

    En Flex ademas tengo comunicacion bidireccional, porque una aplicacion Flash puede abrir un socket contra el server, y entonces no estoy limitado por la caracteristica pull-only de HTTP (en Flex no es que usas el socket, tiene todo un framework sobre eso de mensajeria para que el server le pueda mandar mensajes a sus clientes). Y si queres hacer eso con AJAX, tenes que hacer un polling, y aun asi no conseguis la agilidad de tener un socket a traves del cual el server te puede hablar cuando sea. Esto lo digo como un ejemplo mas significativo de ventaja sobre un “drag & drop”.

    Igual, Flash no reemplaza HTML me parece, si bien son dos tecnologias de presentacion, no me parece que sean intercambiables siempre. Por dar un ejemplo, este blog esta perfecto en HTML, no se si lo haria en Flash, de hecho no, no lo haria en Flash.

    Saludos.

  9. @Gunther: El flash player por mas gratuito que sea, no es el formato establecido por W3C para presentar la informacion. Y no siempre se ve exactamente igual.

    Ademas, probemos si puedo verlo en mi telefono Nokia, ah no, cierto que no hay Flash Player para cualquier User Agent, solo para algunos.

    Para hacer sitios web, hay que saber hacerlo, para hacer aplicaciones, mucho mas. No creo que nadie se muera por aprender HTML y CSS para lograr que se vea correctamente en cualquier user agent (no solo Firefox, IE y Opera).

  10. Diego, lo que viste que tiraron de Javascript, era en realidad ActionScript, que tiene una sintaxis identica.
    En cuanto a la licencia, yo pregunte y me dijeron que es gratis, lo unico por lo que tenes que pagar es el ide, y si haces aplicaciones sobre servidores clusterizados….o algo asi…

  11. @Federico: Mmmm yo escuche muy clarito Javascript… Y yo lo que se de ActionScript no es identico a Javascript… Aunque no tengo mucha practica, no puedo decirte ahi.

    Lo de las licencias, en el proyecto que yo participe usando flex hubo que adquirir una licencia, y no usamos cluters ni nada. Lo que podes descargar es un trial mientras desaroolas que tiene algunas limitaciones. Incluso el charting, que para mi es lo mas util, es un componente que sale como 300 dolares.

  12. Diego, la pagina esa es sobre la beta del Flash 9. Igual no se, yo te digo que una aplicacion Flex no trivial (o sea, usando practicamente todo lo que tiene), se veia exactamente igual en los 3 browsers que mencione, lo probe yo mismo.

    Y lo de la W3C… hablas de presentar informacion Web, no?, es como decir que hacer una aplicacion Desktop sobre el framework de ventanas de Windows no va porque no cumple con la forma de la W3C de presentar informacion.
    Y aca de nuevo estamos equivocando el target, Flex no es para presentar informacion, es para hacer aplicaciones, va mas alla de presentar informacion. Obvio que si estoy haciendo una pagina para presentar informacion no la haria en Flex.

    Y true lo del celular, de nuevo, algo que haria en Flex no estaria apuntado a celulares, es como decir que el Quake esta mal porque no anda en mi celular.

    El problema a mi entender es ver a Flex como la tecnologia que reemplaza toda la Web, todo el HTML, que la pagina de Clarin, la Wikipedia, los web mails, y todo tiene que estar en Flex, y creo que esa no es la filosofia, o al menos para mi no deberia serlo.

    Y lo de ActionScript y Javascript… extraido de la Wikipedia: “ActionScript is an ECMAScript-based programming language used for scripting Adobe Flash movies and applications. Since both ActionScript and JavaScript are based on the same ECMAScript syntax, fluency in one theoretically translates easily to the other.
    Y ECMA es un standard :-)

  13. @Gunther: Creo que no hay mas que beta por ahora…

    No nos salgamos del paradigma web. Todo lo que publicas en web es informacion. Y si lo publicas en web, debe ser accesible.

    No crees que una tienda virtual deberia poder accederse desde cualquier dispositivo? Viendo los ejemplos del sitio de flex, lo que uno tiende a pensar es que cualquier aplicacion deberia estar montada sobre Flex. O estan pensando mal los ejemplos o realmente estan encarando esto para hacer cosas que no le corresponden.

    ActionScript vs Javascripot: theoretically translates easily to the other ;-).

  14. Aclaracion rapida, si hay mas que beta, cuando salio Flex 2.0 final, salio Flash Player 9 final.

    La Web es para publicar informacion, exactamente!!!, y vienen usando esa tecnologia pensada para publicar informacion para hacer aplicaciones, estirandola a los limites. Entonces tiene que aparecer una tecnologia pensada para hacer aplicaciones. Y esta bueno que tenga la ventaja de poder abrirla en un browser…. y que no tengo que bajar e instalar un cliente (si si, hace eso Flash, pero es transparente, y si cambia el cliente no es que le publicas un patch, automaticamente se baja el nuevo y corre ese).

    Una tienda virtual desde cualquier dispositivo?, si, puede ser, ok, si queres ahi tenes una desventaja, cuando haga una tienda virtual vere si quiero que se acceda desde cualquier dispositivo, y si eso es muy importante tendre que usar tecnologia W3C. Igual ya vendran los Flash Player para celulares :-)
    Particularmente yo no querria acceder a una tienda virtual desde mi celular, pero entiendo que puede tener sentido y puedo llegar a quererlo, en cuyo caso lo que pasa es que Flash deja de ser una tecnologia valida para lo que quiero hacer, pero eso no la invalida o hace mala cuando NO me interesa que se acceda desde cualquier dispositivo. De nuevo, no me parece que Flex sea la solucion a todo, y el que dice que si, a mi criterio no tiene razon (al menos por ahora).

    Con respecto a AS y JS, si, son distintos, no identicos, pero muy parecidos, y sinceramente, cualquiera que sepa programar (y mas si sabe JS) lee AS sin NINGUN problema, y escribe en AS sin ningun problema tambien (por ahi ojeando la referencia del lenguaje un toque para ver como era exactamente la construccion tal).

  15. Ya, pero la diferencia entre hacerlo con Flex y con las herramientas actuales es, el precio. El precio de un servidor Flex no es nada barato, y para el rendimiento que ofrece, prefiero hacerlo todo sin ello.

    “Facilidad. Oh dios, se que vas a decir: Yo en el HTML me la re banco porque construyo lo que quiero, con lo que quiero, y lo hago como quiero. El problema es que esa capacidad no es la estandard del universo.”

    Bueno, es el actual estándar de estructuración de páginas que existe. Mucho antes que Flex, Flash.

  16. Diego, voy a aclarar un par de observaciones acerca de nuestra empresa Cubika, pues varios de los chicos Claudio, Gunther y Fede aclararon acerca de lo que se puede hacer o no con Flex. Primero la idea es tratar de acercar la idea de las RIAs (Rich Internet Applications) a los desarrolladores enfrascados en las limitaciones de la capa de presentacion desde hace ya mas de 3 años, precisamente porque el HTML fue hecho para enlazar documentos y no aplicaciones. No somos nuevos en este negocio y no solo empujamos el concepto de Flex hemos hecho muchas cosas con Ajax desde antes que se llamara Ajax y ahora con algunas de las 130 alternativas que existen en la comunidad, en especial DWR y estamos siguiendo de cerca el avance de MS Avalon o WinFX como se lo llama ahora. En breve el enfoque es “abrir” la cabeza a alternativas que hagan el desarrollo de aplicaciones para la web como plataforma de manera mas dinámica e intuitiva y que sea mas facil y productivo para los desarrolladores. Para nosotros y esto es tambien cuestion de gustos y lo que sirve para cada escenario, es decir la herramienta correcta para cada tipo de trabajo. Si vas a hacer un sitio de contenidos como tu blog por ejemplo, lo mejor es HTML con lo que quieras luego ahi es cuestion de que capacidades tiene el equipo que va a desarrollar/integrar esa herramienta PHP, Java , RoR (Ruby on Rails) o la que quieras. Para mejorar la “experiencia” de tus usuarios podes usar Ajax, con DWR, Ajax Tags, Rico, GWT, o las herramientas que vos usaste.
    Pero hay una categoria que es la que en la mayoria de los casos las empresas de nuestro mercado trabaja que son las aplicaciones de negocio en las cuales necesitas una serie de caracteristicas para las cuales en nuestra opinion Flex esta mas preparado que las alternativas de Ajax al momento (aun las comerciales BackBase, Tibco, Zimbra, etc.) . Llamalo desde integrarte con Java, .NET y PHP de manera binaria porque para las aplicaciones de miles de usuarios concurrentes XML o JSON no escalan, un set de componentes amplio y extensible y el soporte de un lenguaje estandar como ActionScript(es el unico Ecmascript compliant con soporte para E4X, Javascript no soporta esto todavia) con una VM optimizada que corre en el cliente y esta presente en más del 98.5% de los browsers. Esto sumado a la capacidad de push prohibida por el modelo de HTTP te da una serie de ventajas muy utiles a la hora de desarrollar estas aplicaciones. Ademas podes integrarlas con las ya existentes en Ajax a traves del bridge con ActionScript (http://labs.adobe.com/wiki/index.php/Flex_Framework:FABridge) fijate en Google Finance (http://finance.google.com/finance?q=TS) ellos usan GWT y la integracion para mostrar el grafico en Flash, otro ejemplo es Flickr que usa ajax y muestra el slideshow en Flash y se integrar perfectamente usando la mejor herramienta para cada trabajo. Si bien estos son ejemplos de aplicaciones para service consumers (Google, Flickr, YouTube, Yahoo Maps, MySpace, etc) te los nombro porque a nuestro entender son quienes estan liderando la innovacion que luego los usuarios quieren experimentar en sus aplicaciones en el trabajo dia a dia.

    Flex es libre, podes usar el editplus, notepad++ o emacs y compilar desde linea de comando o con un ant task, Adobe no te obliga a usar nada, por otro lado el SDK es free (incluido el codigo fuente) al igual que en Java, solo la parte de charts se cobra y es algo mas barato que cualquier paquete de charts de la misma funcionalidad en el mercado unos 300 dolares. Flex Data services, la parte de integracion binaria es free para una CPU solo se cobra si tenes que soportar mas de una CPU en produccion, esto es similar a pagar por un application server comercial y los servicios que presta cuestan implementarlos la plata que vale (sincronizacion de datos, push, mensajeria, etc, etc).
    El ide pesado esta basado en eclipse el ide que usan mas del 80% de los desarrolladores de Java y es la plataforma sobre la cual la gente hoy basa el desarrollo de sus herramientas y si Eclipse es pesado en esa te doy la derecha.

    Para cerrar los “vendedores” entre los cuales me incluyo hemos puesto aplicaciones web de gran escala en produccion por mas 10 años en este mercado y comemos nuestra propia comida (Hemos hecho esta evaluacion exhaustivamente y estamos en la busqueda continua de nuevas y mejores alternativas). El ejemplo si bien seguramente no es el mas feliz tiene como objetivo mostrar el lenguaje y la facilidad de desarrollo que se puede hacer lo mismo con otras tecnologias, si el tema es usar la herramienta adecuada en cada contexto.

  17. @Juan: Muy buen comentario! De todas formas veo que estan a la defensiva de Flex, cuando no es el punto principal de mi post.

    El punto es la facilidad y curva de aprendizaje de la herramienta y accesibilidad del resultado final.

    Yo por lo que veo que dicen ustedes, que sí conocen Flex, para poder sacarle provecho a las ventajas, ahi sí que hay que ser un gurú!

    Mientras que para el grueso de los mortales, que intentamos hacer aplicaciones _normalitas_*, es un rompedero de huevos tener que aprender todo eso, teniendo la alternativa de HTML + cualquier libreria de JS libre. Obteniendo un resultado avalado por W3C y accesible desde cualquier dispositivo.

    * Ni Google Maps ni Youtube, el 90% de las apps deben ser para trabajar con contenido de tipo texto (aunque esto es suposicion mia).
    Y ya que estoy hablando de porcentajes, el Flash PLayer 9 ni por asomo lo tiene el 98% de los navegantes, en este sitio no llega ni al 50% (incluyendo los porcentajes del 9 beta).

    Gracias por pasarte.

  18. Diego, gracias por el comentario, creo estamos hablando de lo mismo, no recomendamos Flex para las aplicaciones de contenidos para eso la mejor herramienta acordamos es HTML. Si se entendio mal el mensaje la idea del post era aclararlo. Pero si creemos que Flex es una de las mejores alternativas para el desarrollo de aplicaciones de negocio. No es una posicion defensiva, nos funciona y tratamos de que otros lo prueben y vean las bondades por su cuenta.

    No tenes que ser un guru para usar Flex, una de las cosas que mas nos atrajo de Flex (y creeme no le puse un revolver a nadie en la cabeza) es que se aprende realmente rápido. Creo en mi humilde opinion sobrestimas la simplicidad de Ajax al construir una real aplicacion de negocios, hemos tratado con herramientas OS y con Ajax toolkits comerciales y la mayoria tienen issues. Un buen post es este http://sourcelabs.com/ajb/archives/2005/05/ajax_mistakes.html
    donde analiza a conciencia las problematicas del modelo. Otra cosa que nos resulto dificil en la practica es el debugging y la performance resultante de las mismas.
    Pero en general podemos resumir en lo siguiente, para aplicaciones de contenidos HTML es el rey, para mejorar aplicaciones de negocio web que hoy existen Ajax y para aplicaciones de negocio corporativas Flex, aunque por supuesto hay grises en el medio y en definitiva es una cuestion de gustos y de como de comodo te sientas con la tecnologia.

    Gracias a vos por poner el tema en el tapete, creo que luchamos por lo mismo. Mejores aplicaciones mas usables y que hay mas de un camino para llegar a ese punto.

    PD: El Flash Player tiene hoy 47% de la torta y se estima que para Marzo llegara a mas del 85%, hoy le lleva al plugin 12 meses en actualizar toda la base de usuarios (hay que tener en cuenta que sitios como YouTube y MySpaces hacen que esto sea mas rapido). A IE6 le llevo 57 meses llegar a solo el 77% de la torta de browsers.

  19. Pingback: Denken Über » Week-log.197

  20. La discusión está interesantísima y acabo de atrasarme una hora en el trabajo por leerla completa. Pero hay lago que se me va de las manos:

    ¿De qué hablan cuando diferencian “aplicaciones de contendio”, “aplicaciones de negocios” y “aplicaciones de negocio corporativas”?

    Más allá de que son términos que no había esuchado antes, realmente no entiendo por dos razones:

    1- Cualquier aplicación web es, al fin y al cabo una aplicación de contenido. Lo que cambia es el enfoque sobre los contenidos, algunos querrán que sea rápido acceder a los mismos, otros rápido modificarlos, otros más veloces en la integración con sistemas externos y unos más rebuscados en la experiencia del usuario para alguna tarea específica. Pero, poco más poco menos, todos trabajan sobre contenidos.

    2- La única diferencia entre un “negocio” y un “negocio corporativo” es el tamaño. Los volúmenes de información, recursos humanos y económicos son mucho más grandes en estos últimos. En dicho caso, a mi entender, el hincapié se tiene que hacer en la eficiencia y maleabilidad del sistema; esto sería en que ande rápido y sea sencillo cambiarlo en el futuro.

    Si lo que dije no tiene nada que ver con todo esto es porque, evidentemente, no entendí qué es lo que están discutiendo (más allá de una nueva tecnología para hacer las mismas cosas de siempre)

  21. descreo completamente de las aplicaciones web hechas en Flash, pero es una impresión personal, la falta de accesibilidad y como funciona como VM (errático para mi gusto) no lo hacen merecedor de tanto negocio, pero es real que está en una gran mayoría de las PCs del mundo, al igual que la Windola, claro.

    Ahora bien, el problema de la versión de flash es para mi uno de los puntos flojos más graves, estoy en un ambiente corporativo todo el día, la aplicación web que se utiliza está hecha para verse en IE6, no respeta ningún puto standard, así cruel como suena. Las versiones de flash varían desde la 6 a la 9 en algún “techie” que puede encontrarse por ahí, el 90% no pasa de Flash 6 o 7, por ende Flex sería imposible de implementar, estoy hablando de una corporación con más de 20.000 puestos de trabajo.
    Ni hablar todo lo que se rompió al pasar a IE7 alguna que otra PC de prueba, no funciona nada.

    Esto obviamente es un arma de doble filo para Flex, por un lado se puede demostrar como trabajando con una VM se “estandariza de facto” todo esto, pero a la vez obliga a toda una organización enorme a adaptarse a una aplicación que no brinda nada realmente significativo contra Ajax, ¿como convencés a un cliente tan duro de que cambie por algo que le significa tanto desastre? yo creo que es inviable, por más bonito que parezca, no lo veo factible.

    a todo esto, alguien sabe porqué si quiero bajar el flash player 9 me deriva al que está en portugués? kuak!

  22. Aporto un link interesante relacionado sobre la discución de si “cualquier aplicación web es, al fin y al cabo una aplicación de contenido” (como dijo alguien por ahi).
    En realidad, yo no pienso de esa forma, Jesse James Garret hizo una buena distinción sobre dos formas en que puede clasificarse una web, es más, escribió un muy lindo libro sobre el tema, The Elements of User Experience. También hay un gráfico con un resumen de sus ideas al respecto.
    Básicamente divide a las aplicaciones entre interfaces de acceso al software y como sistema de hipertexto.
    Muchas aplicaciones tienen un poco de ambos mundos, aunque muchas otras se inclinan fuertemente hacia alguno de los dos lados.

  23. Qué podrido me tienen los fundamentalistas de los estándares.
    Están hablando de aplicaciones complejas, no de un blogcito de mierda. Tratá de ver Google Maps igual en un celular que en la PC! No sé por qué siguen con ese argumento estúpido.
    Ni siquiera Gmail se ve igual en Safari que en Firefox por ejemplo. y sin embargo no andan gritando a los cuatro vientos indignados con Google.
    El desarrollo de aplicaciones complejas con estándares es una pesadilla. Y lo que hoy funciona, recen que siga funcionando en el futuro sin tocar nada.
    Para casos muy específicos (nadie habla de hacer toda la web en Flex/Flash) es una opción muy válida. No todas las empresas tienen la fortuna de Google para pagar horas y horas de programación para luchar en que el puto programa se vea bien en todos los navegadores y para todos los enfermitos que bloquean imágenes, javascript, etc. En esos casos, Flex es una herramienta genial que permite un costo bajo en horas de programación. El costo del software lo tiene la empresa que contratan para hacer la aplicación y la empresa de hosting, no el cliente.
    Y el plugin de flash está en todos lados y se actualiza solo cuando requiere una nueva versión. La gente no tiene problema en actualizarlo si es necesario. No todos tienen la mentalidad de geeks bobos y cerrados como ustedes. Tanto vivir encerrados en blogcitos, les hace pensar que el mundo es así, pero no lo es. Hasta no hace mucho, la mayoría maldecía contra Javascript e incluso muchos aún lo hacen. ¿Cómo carajo quieren que evolucione la web si sigue montada sobre un lenguaje pensado solo para mostrar texto y algunas imágenes?. Si no fuera por los plugins, php, asp, javascript, java, todavía veríamos sitios como en 1995. Ah, bueno, eso pasa. Los weblogs son eso…, visualmente parecen de la década pasada.
    Ah, no, pero ahora están las incrustaciones horrendas de videos en YouTube que suelen poner. Pero hasta hace poco vomitaban en contra del video, porque el ancho de banda, y la pobre gente que usa modems de 9600 y con procesadores de 200Mhz, y que el video no es un standard, que hay que pensar en todos y el sagrado W3C… Bueno, pero claro, eso ya no importa, ahora el video está buenísimo y todos ponen ese horrible recuadro con una imagen toda pixelada en sus blogs de mierda mostrando como un Mexicano boludo se cae de un árbol. Mátense.

  24. @Edgar:

    Están hablando de aplicaciones complejas, no de un blogcito de mierda. Tratá de ver Google Maps igual en un celular que en la PC!

    Google maps no es una aplicacion compleja, sin embargo no estaria mal que esta fuese en flash. Su contenido se basa en imagenes.

    Ni siquiera Gmail se ve igual en Safari que en Firefox por ejemplo.

    So what? No importa que se vea igual, de hecho, es lo que menos importa, lo que sí importa es que pueda acceder al contenido.

    No todas las empresas tienen la fortuna de Google para pagar horas y horas de programación para luchar en que el puto programa se vea bien en todos los navegadores y para todos los enfermitos que bloquean imágenes, javascript, etc.

    Yo no trabajo en Google y sin embargo intentamos respetar las recomendaciones, creo que es un tema de voluntad y querer hacer bien tu trabajo.

    No todos tienen la mentalidad de geeks bobos y cerrados como ustedes.

    Claro que no, vos sos un claro ejemplo de una mente superior.

    Ah, no, pero ahora están las incrustaciones horrendas de videos en YouTube que suelen poner.

    Si conoces algo mejor para hacer streaming de video decilo.

    Y te pido un favor, la proxima vez, no seas tan cagon y desubicado de hacerte el pistola dejando un mensaje anonimo en un debate que venia bien. Gracias.

  25. “Google maps no es una aplicacion compleja, sin embargo no estaria mal que esta fuese en flash. Su contenido se basa en imagenes.”
    Cuidado, más de un fundamentalista te está por saltar a la yugular por lo que acabás de decir.
    “So what? No importa que se vea igual, de hecho, es lo que menos importa, lo que sí importa es que pueda acceder al contenido.”
    No me expresé bien. No solo no se ve igual, sino que tiene menos funciones. Y eso sí importa. Y si ellos no pueden lograr que una misma aplicación funcione y se vea igual en todos los navegadores, imaginate un proyecto de mediano presupuesto. Y que encima, tiene que estar en mantenimiento constante para que una nueva versión de un navegador no haga que deje de funcionar. Con Flash y Flex eso no pasa. Funciona y se ve igual en todos los navegadores.
    “Yo no trabajo en Google y sin embargo intentamos respetar las recomendaciones, creo que es un tema de voluntad y querer hacer bien tu trabajo.”
    El concepto de “bien” es completamente subjetivo. Si soy una empresa mediana, mi presupuesto es limitado y vos me propones hacerlo con los benditos estándares pero te va a llevar 10 meses de desarrollos y pruebas para asegurarte que en todas las plataformas y navegadores se vea bien, quizás sin lograrlo y encima si a MS se le cantó las bolas cambiar algo del IE y ya deja de funcionar, pero otros lo hacen en la mitad de tiempo y se que va a funcionar, tu concepto de “hacer las cosas bien” me lo paso por el culo. Porque para mí, eso será hacer las cosas bien, sobre todo cuando para el tipo de aplicación que se requiere algo así, me chupa un huevo que Google indexe cada palabra y que se pueda acceder desde un celular.

    “Claro que no, vos sos un claro ejemplo de una mente superior.”
    Gracias.

    “Si conoces algo mejor para hacer streaming de video decilo.”
    No, no hay nada mejor. Eso es gracias a Flash. Lo que dije es porque decían barbaridades del video y ahora todos postean videos. La calidad de imagen es horrenda pero lo incrustan igual, cuando tranquilamente se puede hacer un link.

    “Y te pido un favor, la proxima vez, no seas tan cagon y desubicado de hacerte el pistola dejando un mensaje anonimo en un debate que venia bien.”
    La valentía se demuestra en otras cosas, no en una discusión boluda en un blog, donde no importa quién diga las cosas sino lo que se dice. Pasa que a los bloguers les suele encantar el protagonismo y el “tal dijo esto”, “tal dijo lo otro”. Es quizás, la única forma que tienen de sentirse alguien.
    Ah, y sí, a pesar de que dije muchas cosas, el tono invalidará lo que dije, porque eso, en este circo de pelotudos, es ser un “troll”.

  26. Hola, quiero opinar porque el aire es libre.

    Si hablamos de la accesibilidad de una supuesta aplicacion web en flash, en este caso se necesita version 9 del player para q soporte flex, quizas habria que chequear un par de cosas:

    * Si esa aplicacion va a ser utilizada a nivel empresa, existe plugin para windows, os x, linux. Tarea de los administradores y gente q mantiene parque de pcs que esa version de flash sea actualizada a la q corresponda ( ellos mismos actualizan, avisan a empleados q se haga actualizacion ). Y sí, son tan buenos los beneficios de flex en este caso q vale la pena hacer ese uso de tiempo y recursos.

    * Si es una aplicacion donde el tipo de acceso es masivo, o sea, publico, internet, etc… : Esta al alcance de un click realizar un upgrade. El navegador te avisa q necesitas plugin, aceptas y listo. Al usuario le hace drama actualizar su version para ver una aplicacion q tiene ganas? no.

    Es obvio q desde un cel, navegador texto, etc, no vas a poder visualizarlo, pero q importa? tu super aplicacion en este caso no apunta a eso. determinadas funcionalidades van a exigir determinados recursos.

    A veces me da la sensacion de q este debate loko de la accesibilidad seria como q nos negamos a comprar nuevo hardware para soportar nuevas aplicaciones mejores hechas y que requieren ciertos recursos, bue, segui con tu 486 usando DOS. Es el empuje de la tecnologia, actualizate.

    Con respecto a relacion costo/beneficio, les creo como dicen por ahi que sea tan bueno, xq no tengo ni idea, tampoco tengo idea sobre las capacidades de flex,

    Y si flex cuesta $$$, seguramente no lo utilizaria para hacer huevadas.

    aguante windows

    salu2,

  27. @mini-d: =) yo me refería a que la capacidad no es la estandard (o sea, el skillset o aptitud), no al estandard w3c y la mar en coche. Eso si existe.

    Saludos
    Claudio

  28. Que tal Diego, recien llego a tu blog vía Google, muy bueno por cierto.

    Te comento que me dedico a desarrollar sistemas, ocupando el rol de lider de proyecto, he trabajado con las principales herramientas de desarrollo, y una de las problemáticas fundamentales a las que me enfrento, es conseguir gente bien en hecha, que colabore en el proyecto.

    A mí por ejemplo, llevar a un desarrollador Jr, a un nivel aceptable en XHTML y CSS, me lleva cerca de dos meses. El concepto en dos días lo aprenden, pero que maqueten bien es punto y aparte. Creeme que cuando eres newbie, maquetar un template general, de forma correcta, lleva un considerable tiempo.

    Además aprender el XHTML y el CSS, es una tarea secundaria en su puesto, ya que primero deben aprender el lenguage de programación que usarán, puede ser PHP o .NET, que eso ya de por si, les toma tiempo. Aunado a que deben aprender los estándares de desarrollo de la empresa.

    Además cuando tengo que hacer parches o funcionalidades adicionales para librerías como Rico, son cosas que dificilmente puedes delegar, ya que resulta ser un proceso muy complejo para un desarrollador de mediana experiencia.

    En cambio con FLEX, es mas sencilla la curva de aprendizaje. ya que el enfoque es en los estándares de desarrollo de la empresa, exclusivamente. El desarrollador no debe preocuparse por como se ve en cada navegador.

    Resumiendo, YO (es mi caso, no quiere decir que pase con todos), desarrollando con FLEX he reducido cerca de un 40%, el tiempo que me tomaría desarrollar proyectos usando como Front End, XHTML y CSS.

    Respecto al licenciamiento, a partir de FLEX 2.0, la cosa cambio, ya que el SDK es gratuito, la compra del IDE es opcional. Respecto al lado del servidor, existen también alternativas libres al FDS(Flex Data Services), tales como AMFPHP y WebOrb(versión gratuita).

    Cuando trabajo con FLEX, siempre generamos una versión light, que simplemente muestre información u ofrezca alguna funcionalidad limitada(entiendase que se reduce la funcionalidad un 80%), para aquellas personas que accesan a través de dispositivos móviles y/o que estan imposibilitados a Flash. De hecho esto de crear una versión light para móvil también se hace en xhtml y css(hablo cuando tienes aplicaciones complejas).

    Además hay ciertas cosas practicamente que son muy fáciles, y no podrían ser mas fáciles en otra cosa que no sea flex, te listo algunos ejemplos, leer códigos de barras(tomar su representación numerica) usando una webcam, crear un cliente VNC, una interfaz idéntica al Outlook para crear un webmail, un editor de imágenes, en fin.

    NO es mi intención cambiar tu persepción respecto a FLEX, de verdad que no, simplemente quería comentarte un caso práctico donde se obtiene un beneficio real y que a pesar de que nosotros pagamos 5 IDEs de programación, en un solo proyecto recuperamos la inversión, lo demás es ganancia.

    saludos

  29. flex para mi es facil…!
    y de que sirve saber si mucha gente no sabe ni diseñar jajaja
    no es por ser muy bueno pero en la empresa en la que trabajo yo programo con flex y me es facil ya vi los de cubika y :S
    la vdd no me gusta como usan la technologia saludos…

  30. Me parece que son más los comentarios de gente que se beneficia y apoya a Flex. Personalmente pienso que el discutir sobre si se ve o no en un celular… es una PELOTUDEZ. Con ese criterio el desarrollar una aplicación web me llevaría AÑOS, mientras lo pruebo en todas las plataformas existentes. Si se ve o no en un celular, me chupa un huevo, si no es mi intención. Mi aplicación tiene ciertos requisitos que debo cumplir y no necesariamente está el hecho de visualizarlo en toooooodos los lugares posibles. A veces pareciera que la gente no ve los puntos fuertes de la EVOLUCION de la tecnología sólo por el hecho de encerrarse en aquella en la que cada uno tiene experiencia. No seamos cerrados y aprendamos cosas nuevas, las cuales muchas veces no quiere decir que van a reemplazar a otras. Flex es una tecnología bastante interesante que permite desarrollar aplicaciones “ricas” de una manera relativamente fácil y sobre todo poderosa.
    Eso es todo. Gracias por leerme.

  31. Definitivamente HTML no es para aplicaciones, ya lo dejaron claro, javaScript es un scripter no un lenguaje algo que AS3 por mucho si lo es, Flash player como ya lo indicaron es free y se baja para todas las plataformas, yo conozco bien JavaScript, HTML, Java y muchos lenguajes mas ( me fascina Delphi ) y nada esta hecho para hacer aplicaciones web, todo es una bola de parches a cosas que nacieron para otras cosas, que si el HTML que si el xHTML, tsss y es muy chida la libreria de scriptaculos si tambien la de prototype y windows.js esta muy bien, pero finalmente son parches a cosas que ya son un problema para trabajar, ahora piensen en un cliente que se comunique a un servidor de aplicaciones que ya no tenga desventajas del HTML, acaso hay algino? no habia, ese cliente puede ser flash ( que por cierto tienen pensado ponerlo como opensource asi como flex 3 ) y ya vieron Apollo o AIR mismo de adobe? y vieron OpenLaszlo? tsss se esta tapando un hueco que ha existido desde el principio del www y si flex y openLaszlo estuvieran mal entonces porque microsoft le esta apostando a si Windows Presentation server? finalmente es porque una aplicacion web no tiene porque ser en html pues html finalmente se va por TCP y llega a un servidor que hace algo y responde, pa que diablos entonces al acer una aplicacion necesitamos un explorer? o un firefox?, esto es nuevo y diferente a las tecnologias que se vienen usando durante años, esperemos que madure para bien, y si esto madura como se tiene planeado seguro que van a salir cosas opensource.

  32. Leí parte de los comentarios, pero no todos. Creo se armo una discusion por “atacar” en contra o a favor de determinadas tecnologias que hay en el mercado.
    Aquí creo que lo mas importante siempre fué, es y seguirá siendo, el problema a solucionar. Partiendo de aqui, se seleccionan las tecnologías adecuadas y que mejor se ajusten a la solución del problema.
    Cuando hablan de HTML, JS, AS, Java, .NET o lo que fuere, no están hablando mas que de Lenguajes de Programación, y existe un ampmlio recorrido histórico a través del cual los lenguajes fueron evolucionando, surgiendo nuevos lenguajes, etc. con el fin de aportar diferentes alternativas a la solución de problemas computacionales. Cada lenguaje tendrá sus ventajas y desventajas dependiendo del problema que se deba solucionar. Además, existem diferentes Paradigmas de Programación (Procediral, OO, Funcional, Aspectos, etc.) que tambien influyen en la solución de determinado problema y la elección de las tecnologías adecuadas.
    No por nada tambien existen roles de Arquitectos de Software, que se encargan de seleccionar las tecnologías adecuadas y armar la arquitectura del sistema pensando siempre en una solución optima y adecuada a las necesitades y requerimientos del sistema a desarrollar.

    No todo gira en torno a una simple pagina web.

  33. cubika es una mierda con mayúsculas!!!! es lo peor que existe son supertruchos! ademas que abundan personajes insufribles y soretes como martin mirad y una gorda cara de culo y chupamedias llamada lucia, es un ambiente de mierda llena de soretes inútiles! tengan cuidado!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>