Hola, estoy dando mis primeros pasos con javascript y xml, y tengo algunos conocimientos de flash, entonces no sabía por cual decidirme a corto plazo (aunque pensaba no dedicarle mucho tiempo a flash), y me encontre esto, muy gracioso por cierto:
AJAX: Un momento, que estoy haciendo una petición nueva de datos sin recargar la página. Que eso se me da muy bien. Pero claro, ya estoy oyendo a Flash , protestando como siempre, que si es que dependo del objeto HTTPRequest, que si dependo de un lenguaje interpretado, que si no termino de ser cross-browser…. Qué pesado ¿Y él?, se habrá visto… con esa chulería, con esa soberbia por dibujar gráficos vectoriales, ¿quién se creerá que es?
Flash: ¡Callaaaaaaaaa! No me seas soberbio tú. Dependes para funcionar de un objeto que no se implementa igual en todos los navegadores, y de un framework en Javascript (como si eso fuera un lenguaje de programación) que deja mucho que desear, basado en una arquitectura más que discutible, y que parece pensado para que cualquier programador se vincule y dependa de él más que para utilizarlo.
AJAX: Ya está, ya salió. ¿Y tú? ¿Acaso no dependes de un runtime (perdona, no me mires así, por mucho que te empeñes en llamarlo máquina virtual no deja de ser un runtime), y además, propietario? Porque yo no obligo a ningún usuario a que se tenga que instalar nada, ni runtimes, ni máquinas virtuales, ni nada.
Flash: Sí claro, tú nunca obligas a nadie a nada, sólo es necesario que tengan activado el Javascript en el navegador, y que además el navegador no sea demasiado viejo. Por no hablar de los desarrolladores, que tienen que pasar por un infierno para probar sus aplicaciones, dependiendo de plugins del navegador o de sniffers de red para probar y resolver los errores de sus aplicaciones…
AJAX: ¡Calla! ¡Que me estás poniendo malo! No paras de quejarte, que si esto, que si lo otro, que si tienen que activar el Javascript… anda, y ¿qué pasa si alguien no se instala el Flash Player? ¿Y si tiene una versión antigua y no se ve tu aplicación?
Flash: Ya estamos otra vez con lo del player. ¿Porqué no dices de una vez que eso no es más de una disculpa para no reconocer que como el resultado que doy yo no lo da nadie?. ¿Quieres un trabajo fino? Dáselo a Flash, no al garrulo ese del Javascript
AJAX: Eso que acabas de decir sí que es una tontería.
Flash: Claro, pero no das argumentos para sustentar tus teorías. ¿No tendrá algo que ver el que yo ahora tenga un player nuevo, con un lenguaje nuevo, y que mis aplicaciones funcionen mucho más rápido que antes? ¿Te suena? ¿Has oído hablar de Flex o estás tan ocupado mirándote el ombligo que no te has enterado?
AJAX: ¿Flex?. Espera… ¿no es lo mismo que Generator, pero cinco años después?. Uy, no, no es lo mismo, que para desarrollar con Flex hay que seaber mucho de patrones J2EE…. ¡JA!
Flash: Ya, claro, lo que pasa es que a tí te molesta que se facilite el desarrollo de aplicaciones de cualquier forma. Si hay algo que no se hace con un editor de texto, ya no sirve para nada. Da igual que el desarrollo se pueda basar en un lenguaje orientado a objetos moderno y eficaz, que no necesita de trucos baratos como tu adorado prototipo, herencia de la que yo ya he salido.
AJAX: ¡Qué cara más dura! Ahora resulta que el mismo lenguaje que tú has estado utilizando durante años, lo que llamas con tanta pedantería ActionScript 1, como si ya lo hubieras olvidado, es lo peor que se ha inventado. Claro, con ponerle coletillas y número de versión al lenguaje ya lo arreglamos todo. Que si AS1, que si AS2, que si AS3… Muy modernos, sí, pero ¿por qué no hablas de la burrada de dinero que se necesita para empezar a desarrollar en Flash?… … y no te cuento ya si encima lo que vas a hacer lo vas a hacer con Flex… Porque en el mejor de los casos, hay que comprar un entorno de desarrollo, que por cierto, sigue siendo de lo más incomprensible y agresivo para los programadores que vengan de otros lenguajes. Mientras no te deshagas de la línea de tiempo no vas a conseguir que te consideren como un lenguaje normal, no como yo, que no necesito de paradigmas extraños; lo mío es código, y nada más, basta con tener un editor de texto, y se puede empezar a desarrollar.
Flash: Claro, ya has llegado a donde querías ¿no? Eso es lo que en realidad te molesta, que Flash haya sido durante mucho tiempo una herramienta para creativos, y que éstos la sigan utilizando. ¿Si hay línea de tiempo no vale como lenguaje de programación?
Herr Kompilehn: ¡Señores, por favor! ¡Compórtense! ¿Les parece a ustedes bien que se peleen de esa forma por algo tan banal?
AJAX: ¡Ha empezado él!
Flash: ¡Ha sido él, que se cree mejor que nadie!
Herr Kompilehn: ¡Silencio! ¡Ya está bien! ¿No han probado a trabajar en equipo, aprovechando cada uno lo mejor del otro? ¿No se dan cuenta que no son más que dos herramientas disponibles para la resolución de un mismo problema?
Efectivamente, Herr Kompilehn, como suele ocurrir con los grandes científicos de los Cárpatos, había dado en el clavo. La bondad de las soluciones viene por modas. Lo que hace cinco o seis años era considerado por la mayoría de los desarrolladores como un lenguaje de segunda categoría, de repente se ha convertido en la panacea, superando a otra herramienta también denostada por muchos por su pasado como herramienta para diseñadores y para realizar los banners más molestos del mundo.
Tal vez lo importante no sea saber qué solución es mejor, porque ninguna lo es, sino conocer bien las implicaciones, ventajas y desventajas de cada una de ellas, para que sea el desarrollador quien, utilizando su criterio, su conocimiento del problema a atacar y de las posibles soluciones para el mismo, utilice una u otra herramienta, o una combinación de ambas.
Ahora pienso profundizar tanto en uno como en otro. Tu que harías?