Ajax vs Flash
Agosto 2, 2006
Hace ya un tiempo que estoy en la disyuntiva de que tecnología es la mas recomendable a la hora de desarrollar RIA. Se pueden listar muchas ventajas y desventajas de Ajax y Flash, y no termino de decidir con cual quedarme.
Hoy me pasaron este articulo que plantea este tema de una manera bastante cómica al final, pero que termina dándome miedo de terminar en un psiquiatra en la obsesión que todos los desarrolladores de WEB 2.0 compartimos “llevar el escritorio a la WEB”.
El articulo en cuestión esta en español y es muy bueno, y al llega al final con un párrafo muy lúcido:
“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.”
Aquí lo que me llamó mas la atención fue “una combinación de ambas”, y de inmediato me volvió a la mente BJAX (Browser Extensions plus AJAX), y de como se puede potenciar las posibilidades del browser con esta técnica, pero esto es solo considerable si estas haciendo una aplicación para un grupo reducido de usuarios .
El mesclar Flash con Ajax es algo mucho mas portable , yo creo que podemos confiar tranquilamente en que la mayoría de nuestros usuarios van a poder ejecutar nuestra aplicación sin problemas, y estaremos ganando toda la potencia de Flash en nuestros scripts.
Claros ejemplos de esta técnica son Javascript Sound Kit que incorpora el objeto Sound de Flash en JS, y AMASS (AJAX Massive Storage System) que aprovecha las capacidades de flash para permitir guardar datos del lado del cliente utilizando Javascript.
Solo el tiempo dirá cual es el camino que tomen la mayoría de los desarrolladores en este ámbito, yo creo que voy a tomar el intermedio
10 razones para amar Flex2
Julio 7, 2006
La gente de arc90 publico en su blog un post muy lindo explicando sus 10 razones por la que prefieren usar (y amar) la nueva versión de Flex frente a otras tecnologías RIA (como Ajax, o WPF/E).
Entre las que mas me llamaron la atención están:
- No More Browser Compliance Testing!: Esa es la característica más llamativa de todas, Flash, más que una tecnología, se ha convertido en una plataforma, su penetración en el mercado es del 98% de los browsers y es hoy la alternativa crossbrowser por excelencia.
- E4X: Ya esta disponible desde hace un tiempo en los browsers Mozilla. Los ejemplos son animadores y muestran la ventaja que supone el uso del nuevo Ecmascript for XML. IE todavía no lo tiene, así que volvemos al punto 1.
- Rich Media Support: Flash demuestra cada vez mas que tiene grandes capacidades multimedia. Poder contar con este potencial en tus aplicaciones RIA es una gran ventaja.
- True Seperation of Presentation and Content: “Your servers now just deliver content. When you’re done, you not only have an application, you have an API.” Amé esta frase, me cansé de discutir esto con la gente que promueve Atlas en ASP.NET, nunca, pero NUNCA fueron capaces de reconocer las ventajas de este modelo.
Las otras razones son también interesantes, pero estas ya me convencen de que tengo que probar esta herramienta.
Decadencia de WebDevelopers
Mayo 30, 2006
El desarrollo WEB se esta desmoralizando, y esto es tanto culpa de las grandes empresas como de los usuarios.
Nuevamente, desde la aparición de DHTML hace ya varios años, el desarrollo web se esta poniendo interesante y divertido. Ajax propone un modelo de desarrollo totalmente diferente al que se venia haciendo hasta ahora, utilizando tecnologías que han llegado a un punto de maduración suficiente como para ser confiables y abriendo un abanico de posibilidades que antes eran impensables en este ámbito.
El problema es que hay gente que esta muy interesada en hacer plata con todo esto y se dedica a difundir herramientas y modelos de desarrollo pésimos, pero orientados a la gente que no tiene ni idea de lo que realmente se trata todo esto y que, al parecer, tampoco tiene ganas de aprender.
La mala costumbre comienza con las herramientas de Microsoft. El gigante de Redmon hizo un esfuerzo enorme en hacer parecer el desarrollo web con una aplicación en Visual Basic para Windows. El resultado, WebForms, y muchos programadores que no necesita aprender como funciona la WEB. Vos haces clic en un botón, y ahí esta tu manejador para el evento OnClick, viola!.
Desafortunadamente, evitando que los desarrolladores aprendan el funcionamiento de la web resulta en un impresionante montón de código ‘undebuggable’ y digno de aparecer en The daily wtf. Diseñan sitios enteros basados en tablas, cuando esta mas que demostrado que es un modo anticuado y deficiente, no usan CSS porque ASP te renombra los id de tus elementos, y porque ASP te genera elementos adicionales ocultos que no tenias previsto, y por lo tanto, no son posicionables. De hecho, no conocen CSS porque ASP te lo escribe automáticamente en la propiedad style de cada Tag, otra malísima costumbre, porque un estilo nunca debe escribirse en el HTML. Bueno, podría enumerar miles de malas costumbres de estos desarrolladores, que al final, no tienen la culpa.
Todos estos desarrolladores que nacen en ASP.NET hablan del desarrollo web como si fueran grandes maestros siendo que solo conocen un taglib que genera código escrito por otra persona y del cual no tienen la más pálida idea de cómo funciona. Por si fuera poco, están convencidos de que este es el mejor camino de construir la web y se niegan rotundamente a aprender las tecnologías en las cuales todos esos tags se basan.
Claro que esto es así porque no se imaginan las cosas que realmente podrían lograr conociéndolas. Es solo una cuestión simple, y eso se llama ignorancia. Microsoft, generando cada día mas ignorantes bajo la bandera del la abstracción se asegura los millones para subsistir un par de años mas.
Claro que también están los que entienden de verdad sobre las tecnologías que hacen a las aplicaciones WEB, la forma en que ASP.NET perjudica a estos desarrolladores es limitando su potencial. Ojo, todo es posible de hacer con esta herramienta, pero por favor, que no se te ocurra cambiar tu archivo CSS porque te va a hacer doler la cabeza un buen rato, de hecho, hacer las cosas de un modo diferente a la propuesta de MS siempre te va a hacer doler la cabeza, vas a tener q escribir código reemplazando el modo en que normalmente se comporta, y te aseguro que no es poco.
Por otro lado, resulta que a Google se le da por largar Google Web Toolkit, cuyo propósito es, básicamente, esconder JavaScript atrás de otro lenguaje de programación.
Javascript esta lleno de posibilidades, es ampliamente usado, y es un hermoso lenguaje. Seguro que es diferente a C#, Java, pero cumple perfectamente su cometido. También es cierto que rompe el strong typing y el modelo tradicional de orientación a objetos de C++, pero esto no lo hace menos versátil.
Y nuevamente, vemos llegar una capa de abstracción errónea y pobre, que solo va a generar más problemas que soluciones, yo creo que no hay ninguna buena razón para no aprender un lenguaje nuevo, la historia es simple: si no podes manejar JavaScript, no deberías estar escribiendo código para aplicaciones WEB. CSS, HTML y JavaScript son los tres prerrequisitos para este camino, ¿como podes entonces, meterte en Ajax sin conocerlos?.
Claro, Microsoft no se podía quedar atrás, y demuestra que no solo copia las buenas ideas de sus competidores, sino que también copia las malas.
El camino correcto para los que comienzan, puede ser un compilador de JavaScript 2.0 que produce salidas compatibles con la versión 1.4, no hay problemas con toolkits poderosos, o cualquier herramienta que siga sin romper las líneas del estilo WEB. Quieren herramientas visuales, ok, usen Flex, usen OpenLazlo, son tecnologías que van de la mano con las nuevas ideas que acompañan a Ajax. No necesariamente tienen que matarse programando para hacer algo bien.
Estoy seguro de que la productividad puede convivir con el desarrollo de aplicaciones bien hechas y a conciencia.
Editado:
Este post surgió a partir de esta discución, pueden segir su repercución alli.