En Ajaxian publican una interesante estadística sobre la utilización de diversas librerías/frameworks para desarrollo AJAX. Las estadísticas se realizan a partir de consultas realizadas a usuarios de la propia web, independientemente de la validez o fiabilidad que cada uno pueda otorgar a este tipo de encuestas, puede ser interesante para al menos hacernos una idea de por donde van los tiros en esto del desarrollo AJAX.
los resultados:
Se puede acceder en este link a los resultados completos de la encuesta.
Algo a destacar, es exceptuando a backbase, la ausencia de librerías/frameworks comerciales, parece que el open-source domina claramente en el mundo del desarrollo AJAX. Otra cosa que destacaría es que los dos primeros de la lista no son frameworks completos repletos de widgets varios sino librerías con utilidades para facilitar el manejo del DOM, eventos, evitar incompatibilidades entre navegadores, encapsulaciones del objeto XMLHttpRequest, diversas ampliaciones a JavaScript y sus tipos básicos etc. Parece que de momento el uso de AJAX se esta enfocando más en enriquecer webs existentes que en realizar Rich Internet Aplications.
¿Que os parece la encuesta?, ¿vosotros que usáis en vuestros desarrollos AJAX?
Es muy importante para analizar los resultados de esa encuesta haber participado, o al menos haber visto cómo se realizó. Me refiero a las posibles respuestas que se podían dar.
En concreto es interesante ver qué opciones había y cuáles "faltaban" y tener en cuenta que se podían marcar múltiples opciones.
Los resultados, la verdad, no me sorprenden. Prototype es prototype. jQuery y Ext se venía notando ya que están recibiendo la popularidad y apoyo que merecen.
Yo puse que usaba tanto jQuery como mi propio desarrollo con XHR.
--Venkman
En el enlace de los resultados completos se pueden ver todas las posibilidades, incluso navegar por todas las respuestas dadas por los usuarios una a una.
Mirando con más detalle se puede ver que GWT o ASP.NET AJAX rondan el 3-4% que a priori puede parecer poco para frameworks que han tenido tanta expectación y generan tantas noticias. Luego en el mundo java cosas como zk, echo2, icefaces o jmaki tienen una presencia casi testimonial. Y me sorprende lo de backbase porque siendo de pago tampoco es que sea muy superior (vistas las demos y un poco la documentacón) a otras alternativas gratuitas como icefaces (por hablar de frameworks similares basados en jsf), o el marketing hace milagros o se me escapa algo.
Yo personalmente he usado GWT para aplicaciones ajax complejas, prototype y script.oculo.us para usos más sencillos de ajax, y ultimamente he estado jugeteando con Ext y me he llevado una más que grata sorpresa con este framework, bien diseñado, con unos widgets sencillamente espectaculares y con una documentación muy apañada (punto este fundamental para elegir un framework).
También es que la selección -para mi gusto- es demasiado amplia.
Quiero decir, ¿es realmente comparable/sustitutivo uno con otro? ¿Realmente es "equivalente" usar por ejemplo jQuery, Echo2, Ext, ICEFaces, Prototype, TurboGears o CakePHP? En algunos casos son librerías de Javascript que se encargan sólo y exclusivamente de la parte cliente. En otros casos son "plataformas" que imponen sobre todo el desarrollo. O, como JSON, únicamente definen un formato/protocolo para el transporte.
¿Es esto comparable? Y el problema no es tanto que no sean excluyentes o sustitutivas, sino que en algunos casos lo son y en otros no. jQuery está en "competencia" con Prototype, AjaxAnywhere y AjaxTags lo mismo. Cake y symfony. symfony y Ruby on Rails. Ruby on Rails y Wicket. Pero por otro lado, hay relaciones que son muy diferentes. RoR [casi siempre] implica Prototype y es sustituto de usar Struts, pero Prototype en sí no es excluyente de Struts. Wicket se puede usar en conjunción con JSON. Si usas Atlas seguramente te olvidas completamente de todo el resto.
En mi humilde opinión esto hace que la encuesta, aunque válida, resulte bastante más confusa de lo que debería ser. Habría que analizar no sólo los resultados cuantitativos globales, sino también las relaciones y los diferentes tipos de relaciones entre los diferentes elementos en juego.
Por esto decía lo de fijarse bien en la selección de posibles respuestas.
En cuanto a Backbase, quizá sí se te escapa algo. Lo primero es que sí, el marketing hace milagros. Pero no es sólo eso. Backbase es enterprisey (xD) y,por triste que parezca, siempre siempre hay un hueco que cubrir en ese mercado. Es decir, siempre hay un hueco para determinadas empresas que buscan tener soporte, consultoría, formación, etc. Y en ese hueco eso es mucho más importante que la calidad real del producto. Es otro caso más de lo que comentaba antes. Backbase no está en el mismo nivel que el resto de opciones de la encuesta.
--Venkman
Estoy de acuerdo con Venkman. Yo personalmente haría al menos dos grupos con estos frameworks:
Anónimo, quizá es que crees que esos porcentajes deben sumar 100%. Se podían elegir varias opciones, de modo que el total no tiene por qué sumar 100.
--Venkman
No entiendo cómo no tiene más éxito GWT. Viendo este tutorial de este portal, da la impresión de que es el camino más sencillo para cualquier programador de aplicaciones de escritorio a aplicaciones Web, sin necesidad de usar HTML o AJAX. Me diréis que es conveniente aprender más lenguajes, y con razón, tanto lenguajes de páginas Web como de hojas de estilo y tanto lenguajes del lado del cliente como del servidor, que te permiten un mayor control; pero no podéis negar tras leer el tutorial, incluso tras leer la introducción, no os entra el gusanillo de probarlo en cuanto tengáis tiempo libre. ¿qué hace a la gente que lo prueba no emplearlo?¿o ni tan siquiera se prueba?¿es como el Opera un excelente producto que no se usa o no lo es?
Saludos, govisagod512.
ext js es de pago.
Creo que el open source murió con la GPL 3.
Quien se va a molestar en aprender algo que no va a poder usar en el curro?
Como defender ante el jefe que necesitas una licencia de 300$ para poner algo bonito en la pantalla?
"ext js es de pago."
No realmente. Ext tiene 3 licencias posibles. LGPL3, comercial y revendedor.
¿Por cierto, cómo defiendes ante el jefe que tener cualquier herramienta mejora tu productividad y/o la calidad del producto? No sé... que con sólo 256Mb abrir Eclipse te lleva un buen rato, o que necesitas un servidor de desarrollo porque no es buena idea poner el Subversion en el PC de Paco, o que 300$ es una mierda dentro del presupuesto?
Además de lo dicho. Un tema importante, para el grupo encuestado (o en todo caso para quienes respondieron la encuesta, porque hasta donde puedo ver no es que existiera una población objetivo de estudio) PHP es el principal lenguaje con el que usan AJAX, y por supuesto esto orienta también el resultado de que framework se va a utilizar. Es mucho más probable que un programador PHP use Prototype o JQuery (por mencionar solo dos) a que use GWT.
Venkman ha dado bastante en el clavo, la mayoría de las librerías votadas son céntricas en el cliente incluida backbase, algunas de hecho no aportan absolutamente nada en el lado servidor, y hablar de AJAX es hablar de colaboración cliente-servidor, los resultados de la encuesta muestran más bien la respuesta a la pregunta ¿usas DHTML?. Usar algún efecto DHTML en el cliente y hacer alguna llamada AJAX no significa que estemos hablando de una aplicación fuertemente basada en AJAX.
Respecto a Backbase, Backbase fue de los primeros en invertir en el tema AJAX desde el cliente, tienen ya una "larga" carrera. Por otra parte no es nada difícil manipular los resultados, basta que pongas a votar a un grupo de gente o que te cargues la cookie que recuerda que has votado (no lo he probado pero seguro que funciona), teniendo en cuenta que el volumen de votos no es muy grande no es demasiado difícil tener un buen resultado, no digo que sea el caso de Backbase pero los desconfiados ya tienen motivos :)
Hombre en la encuesta se mezclan churras con merinas, en esto del AJAX hay casi tanto enfoques como librerías, hacer una clasificación por librerías centradas en el cliente, librerias centradas en el servidor, librerías centradas en las comunicaciones, libre... daria para más discusiones la elaboración de las categorias que los resultados de la encuesta :P (backbase centrada en el cliente?, no es jsf?, si me impone una tecnología servidor a utilizar, java, entonces no puede ser centrada en el cliente).
Para el anonimo que comentaba el uso de GWT, no es que se use poco, incluso tiene una comunidad realmente muy activa, pero si lo único que quieres es añadir un par de funcionalidades ajax a una web cosas como prototype son mucho más sencillas y tampoco es necesario ser ningún guru del javascript o el dom para hacer cosas simples. GWT encaja más en desarrollos más grandes donde java es, en mi opinión, un lenguaje que permite estructurar mejor un proyecto de tamaño medio/grande y cuenta con herramientas (ide's) muy por encima de cualquiera existente para JS. Esto nos deja a GWT en un nicho un tanto reducido, aplicaciones medias/grandes fuertemente basadas en AJAX y programadores java (es dificil que un programador php o .net utilize gwt, aunque es perfectamente posible).
remoh: backbase centrada en el cliente?, no es jsf?
Sí y no, es ahora cuando tiene una versión JSF integración con Struts, pero sigue vendiendo la versión de toda la vida 100% cliente (aunque con opciones obviamente de comunicación con el servidor via AJAX).
Nosotros ahora mismo el mayor problema que nos esta dando el DHTML/AJAX son los puñeteros problemas de Memory Leaks que tienen la mayoria de librerias en el IExplorer.
Salvar la escasa documentacion, la depuracion como metodo de aprendizaje etc. para luego tener que cuanto mas usas la aplicacion, mas come memoria sin parar... ains.
GWT se ha preocupado mucho en afrontar los Memory Leaks de IE que comenta greenyed. Como bien dice remoh, GWT es indicado para grandes desarrollos, pero no sólo por las herramientas relacionadas a Java, si no por la exhaustiva optimización de código que realiza el compilador. Para que tu aplicación GWT funcione mejor, sólo tienes que esperar que aparezca la próxima versión de GWT y recompilarla. No creo que eso sea posible con ninguno de los frameworks que se encuentran al tope de la lista.
Yo uso ahora, por motivos de mantenimiento prototipe, pero he usado DWR y me parece impresionante, sobre todo como se integra con Spring ... ¿nadie más ha usado DWR o es qué me confundo al denominarlo framework de ajax?
Pero... script.aculo.us no necesita Protoype???, no creo que debiera incluirse por separado en la encuesta.
Personalmente, siendo un simple aprendiz y pardillo, JQuery es justamente lo que dice su slogan:
"Haz más, escribe menos".
Antes usaba Prototype y sau, probé JQuery y: a mí me parece genial, una de las librerías más versátiles, cómodas y ligeras. Pero esto es como todo, cada cual trabaja con lo que se encuentra más a gusto o necesita. Yo con JQuery escribo menos y hago más... hasta donde han llegado mis necesidades.
;)
DWR si es un fwk AJAX, lo que ocurre es que está más orientado a la comunicación cliente-servidor, y a cómo implementar la parte servidora. No tiene implementados los componentes típicos en el cliente, pero sí se puede integrar con otros frameworks que aporten estos componentes (p.e. con TIBCO GI hacen muy buenas migas). Por cierto, si no habéis echado un ojo a TIBCO GI, os lo recomiendo. Es el framework AJAX opensource más productivo que he visto, está bien documentado y dispone de un entorno de desarrollo WYSIWYG bastante majete ;)
Yo todavía recuerdo cuando llegó AJAX y nos iba a librar de la pesadilla de tener tantos frameworks en el servidor... Hay que reconocer que era un buen chiste :D
Escribe tu comentario