jQuery 1.4

El equipo de JQuery ha liberado la versión 1.4 de su librería Javascript, incorporando numerosas correcciones de errores, mejoras en el rendimiento y nuevas funcionalidades.
Según lo poco que aún me ha dado tiempo a ver, estas son las cosas que yo destaco:

  • AJAX: acceso a las etags, soporte nativo para interpretar JSON.
  • Importantes mejoras en las funciones .css y .attr.
  • Mejoras en los efectos visuales (p.ej. easing personalizable para cada propiedad en la función effects).
  • Nuevos eventos: focusin y focusout
  • Aumento de hasta el triple en la velocidad de la función .html().
  • Soporte para la creación de nuevos elementos al estilo del dojo.create:
    jQuery("<div />", {
    id: "miid",
    css: {
    height: "70px",
    width: "70px",
    color: "blue",
    backgroundColor: "#eee"
    },
    click: function() {
    $(this).css("backgroundColor", "green");
    }
    }).appendTo("body");

Alguna desventaja: pasa a pesar unos 70KB comprimida.

Podeis encontrar más información en la web del lanzamiento.

Usa las ETags en tu proyecto

Y no sólo porque lo diga Yahoo! sino porque te ahorrán tiempo y dinero. Harán que tu servidor sea capaz de procesar más peticiones y que estas sean más rápidas.

Últimamente y a medida que mis sitios web están ganando en visitas, estoy muy interesado en el tema de la optimización de los proyectos web y poco a poco, voy incorporando varias técnicas que incorporo en la fase final del desarrollo.Una de ellas es la de añadir ETag para los proyectos web que generan contenido dinámico.

La mayoría de los sitios web con contenido dinámico no están continuamente cambiando el contenido, sino que éste es modificado en momentos muy puntuales. Todo el tiempo entre un cambio y otro, el contenido es el mismo y sin embargo, hacemos que el servidor vuelva a generarlo y a enviarlo al servidor como si fuera completamente nuevo.

Las ETags son unos identificadores que se envían al navegador para identificar el “estado” de una página dinámica o de un archivo estático. Son fácilmente configurables en Apache para los archivos estáticos, pero pocas veces son usadas cuando el contenido es generado a partir de fuentes dinámicas.

Imaginemos el caso de este blog. Cada página es modificada únicamente cuando yo hago algún cambio desde el panel de control o cuando alguien deja/modifica un comentario. El resto del tiempo, el contenido de las páginas no varía.Podríamos por tanto identificar a cada página por su URL (p.ej.  “/2008/10/03/en-espana-se-vende-menos-que-se-compra/” ) y por la fecha en que fué actualizada. Si unimos ambas cosas, podríamos obtener un identificador único. Por ejemplo:

$etag = md5 ($_SERVER['REQUEST_URI'] . $last_modification_time);

Esa sería por lo tanto su Etag.  Y podríamos enviarla al navegador de la siguiente forma:

header("Etag: $etag");

El navegador, cada vez que pida esa página, enviará un header especial “If-None-Match” preguntando si es la misma página que ya le fué enviada la última vez. Con lo que antes de generar la página, podríamos comprobar:


if (trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
header("HTTP/1.1 304 Not Modified");
exit;
}

De esta forma, informaríamos al navegador de que la página no ha cambiado y por lo tanto no tendríamos necesidad de volver a generarla ni de enviarla por la red. Así ahorraríamos tiempo de proceso en el servidor (carga) y ancho de banda, además de ofrecer una mejor experiencia al usuario.

Por supuesto esta no es una solución válida para cualquier proyecto o situación ( en algunas puede ser incluso contraproducente ), pero si que supone una mejora en una gran parte de los desarrollos. Al menos así ha sido para mí ;)

En el Zend Framework también tenemos ya una propuesta para usarlas.

WysiHat Editor HTML para la web

WysiHat Wysiwyg

La gente de 37signals, tras pelearse con varios editores wysiwyg (TinyMCE, Yahoo! YUI Editor, etc.) y no encontrar uno lo suficientemente personalizable, se han puesto manos a la obra para crear el suyo propio y le han llamado WysiHat.

Siempre me parece una buena idea innovar e intentar hacer las cosas mejor, así que desde aquí les doy mi apoyo.

Sin embargo, cuando estás limitado por el tiempo y la necesidad de acabar proyectos para cobrarlos, es bastante dificil innovar. En general creo que los editores existentes  son bastante buenos (mejorables, eso sí) y cumplen muy bien sus objetivos. Yo casi siempre he optado por tinyMCE, porque adaptarlo a cualquier proyecto es realmente fácil y su rendimiento es más que aceptable.

Si te interesa participar en el desarrollo de WysiHat o simplemente probarlo, pásate por su repositorio en github.

¿Qué editor Wysiwyg usas tú para tus proyectos?

Google DOCTYPE, enciclopedia para desarrolladores web

En su carrera por organizar la información mundial, Google no para de sorprendernos. Esta vez se trata de un proyecto estilo wiki donde cualquiera con una cuenta de Google puede editar o añadir información: Una enciclopedia para desarrolladores web.

Temas de seguridad, programación, CSS, rendimiento, etc. Todo lo que puede necesitar un desarrollador web y además bajo licencia Creative Commons Attribution. Por ahora, prácticamente todo está en inglés, esperemos que pronto haga acto de presencia la lengua de Cervantes.

Encuesta de uso de herramientas AJAX 2007

En I, Analyst, publican los resultados de una  interesante encuesta sobre el uso de los distintos toolkits y herramientas AJAX.

Uso AJAX diciembre 2007

Uso AJAX diciembre 2006

Uso AJAX 2005

En las imágenes podeis ver el top 10 de herramientas junto al porcentaje de uso.

Como veis, el tema está bastante movidito y la rivalidad entre las distintas herramientas las está haciendo mejorar hasta alcanzar cotas de calidad muy elevadas. Impresionante el incremento de  uso de JQuery  y  de Ext JS.

Toda la información y resultados de la encuesta podeis encontrarlos aquí.

JQuery UI, este domingo en sus navegadores

Tras liberar la nueva versión 1.2 de JQuery, su comunidad nos sorprende con la JQuery UI que liberará este domigo 16 de septiembre.

Y aquí teneis una captura de lo que podemos esperar de ella:

JQuery UI

Me alegra ver la sana competición que se está dando entre los diferentes frameworks Javascript, que está consiguiendo niveles de calidad sorprendentes. ¿Alguien duda ya de los beneficios del open source?

Programadores web andaluces

Internet es una herramienta magnífica para conocer gente que trabaja en tu mismo sector y poder crear grupos virtuales en los que poder participar ofreciendo tu experiencia y obtener de la experiencia de los demás.Hace poco, seguí un interesante debate sobre la falta de programadores en España que sacó a la luz interesantes preguntas y conclusiones. Javier Martín de Loogic, propuso una lista de los programadores web 2.0 más conocidos en la blogosfera en la que sólo veo un andaluz: Alfonso Jiménez (gaditano residente en Barcelona).Yo creo que los programadores web andaluces somos muchos y muy buenos, y es por eso que me gustaría hacer una lista, para la cual necesito vuestra colaboración.En principio sólo quiero incluir a aquellos programadores y diseñadores web que trabajan desde y en nuestra tierra (otro día hablaremos de por qué aún hay que emigrar de Andalucía para poder trabajar en algunos sectores) y que se dediquen en exclusiva a la web.

Programadores web

Diseñadores web

Espero los vuestros en los comentarios.