JQuery en Wordpress, Prototype deja en la estacada a SAU 15 Octubre, 2007
Esta entrada ha sido publicada por Covi y está archivada en Desarrollo Web
Llevo usando Prototype y Script.aculo.us prácticamente casi dos años (aún enlazaba a la antigua web de Prototype)… nos es que me desagrade, sí quizá algo más SAU (Script.Aculo.Us) pero no Prototype. Pero el hecho es que he hablado muchas veces acerca del peso del sitio en su mayor parte a causa de estas librerías Javascript.
Hace tiempo que deseaba probar otras, hice una pequeña incursión en MooTools de la mano de Anieto pero siempre me echaba para atrás debido al manejo que ya tenía de Prototype y SAU (con mis propias funciones en PHP y algunos snipets). Nunca me atreví a dejar el lastre de Script.aculo.us hasta que descubrí JQuery y como trabaja…
esa fue mi primera impresión… y la verdad es que su lema no puede hacer más honor a su forma de trabajar.
“Escribe menos, haz más”
En mi nuevo proyecto, tardé menos de un minuto en generar el código para llamadas Ajax que usaba con Prototype, asignar a cualquier “anchor” el atributo de enlace y asignar unos cuantos eventos a algunos elementos, todo ello una vez el documento ha cargado (el DOM está listo), sin meter el script al final del documento y sin usar “defer”…de la forma más simple y económica posible. Realmente esbozaba una gran sonrisa y satisfacción al decidirme, al fin, a usar este gran framework.
Ejemplo Simple:
Pongamos todos los “anchors (<a>)”, anclas como vínculos independientemente del atributo “href“.
Algo que se usa mucho en Javascript de forma no semántica, algo que se usa sobretodo para otorgar “estilo” a las anclas sin enlace (para que aparezca el cursor de link en estado “:hover“), un sucio truco heredado del HTML basura: incluir el atributo href “porque sí”.
Yo personalmente uso una clase para el cursor de hipervínculo: cursor:pointer; código propietario de IE: cursor:hand;
1 2 3 | .cursor_link { cursor:pointer; } |
Con JQuery (aunque es muy básico vale…) es tan sencillo como:
1 | $("a").addClass("cursor_link"); |
Muchos cambios están ocurriendo en la nueva Web2.0 y sobretodo en los frameworks JavaScript, es sin duda uno de los motivos que me lleva a usar JQuery pero en especial son dos en relación al blog:
- La nueva versión de Prototype (1.5.1).
- JQuery en Wordpress!!, desde Worpress Ella… y yo sin enterarme
Prototype evoluciona
La nueva versión de Prototype incluye “efectos simples” y, sinceramente, ahora veo SAU bastante innecesaria, más aún para lo que yo la usaba… y más aún después de haber indagado de una vez por todas en DOM. La famosa función del dólar es superconocida ya, en Prototype en concreto, para reemplazar el método DOM document.getElementById() pero es que añadir una clase o establecer un estilo es igual de fácil, la diferencia radica en la sintaxis y la coherencia del lenguaje, algo en lo que JQuery es la dueña.
Quiero decir que, usar un new Element.Hide('mydiv'); con SAU es bastante estúpido y yo no hacía más que eso
. Tanto con JQuery o Prototype -desde la 1.5- basta con $("#mydiv").hide(); o $("mydiv").hide(); respectivamente y no necesitas los 100 y pico Kb de SAU, que tonto he estado siendo por Dios. Además… JQuery ya implementaba los “efectos básicos” de forma nativa y Prototype se ha subido al carro… SAU es innecesaria.
Los frameworks y/o sus plugins
En definitiva, nuestros principales frameworks JavaScript han crecido y ya pueden ir solitos al parque a jugar con los efectos
, en mi opinión Prototype deja en la estacada a SAU a quién no le veo muchas salidas, la wiki no se mueve demasiado desde hace tiempo y su peso es su condena. Al final quedará para el plugin “puzle” y nisiquiera sus famosos iniciales “sortables”.
Me arrepiento de no haber probado antes JQuery… algo de lo que más me fascina de este framework es su soporte XPath y el acceso, por ejemplo, mediante selectores estilo CSS a los elementos… es genial!
. Esto, según de nuevo Anieto, parece ser el motivo de su lentitud respecto a las consultas Prototype pero… qué demonios, prefiero perder un cuarto de segundo de acceso a tener toda ese potencial
Nota Final
El hecho más real es que me he liado de tal manera con el DOM y Javascript que no hay huevos
. Otro de mis humildes descubrimientos ha sido ceder en la búsqueda de librerías y clases miles de parseo XML, en favor de aprender lo que enseña de verdad: “a pelo” y por ejemplo la extensión DOM XML de php 4.
Como son las cosas… pensar que en mi primer blog casero usaba XML y XSLT, cuando no tenía ni papa, mucha menos que ahora… y tras casi tres años se vuelve a los origénes casi… a desenpolvar lo aprendido.
Ejemplo actual
Un ejemplo del uso actual que le estoy dando a JQuery, XML y PHP es el proyecto sobre Battleground Europe que podéis ver en esta sección:
1SCTools for Battleground Europe



