minify: Sirviendo javascript

El gran descubrimiento del fin de semana: minify, una librería PHP para acelerar la descarga de ficheros .js y .css.

¿Cómo lo hace?

  • Comprime bajo demanda los .js y los .css. Elimina saltos de línea y comentarios reduciendo su tamaño.
  • Combina sobre la marcha los .js en un único archivo y lo mismo con los .css. De esta forma, te ahorras el establecimiento de conexión para varios archivos que puede ser algo costoso.
  • Cachea, y cachea hasta la muerte. Cachea a nivel de servidor, guardando los archivos generados como temporales, y cachea a nivel de cliente vía HTTP 304.

La verdad es que me ha sorprendido el rendimiento. Todo esto es para una aplicación web que me traigo entre manos (muchos dirían que muy 2.0 :p) y me ha dado la perra de la escabilidad.

Antes de pasarme a minify, usaba una solución homebrew inspirada en el artículo de recomendada lectura “Serving Javascript fast” de Cal Henderson, desarrollador de flickr. Básicamente usaba ShrinkSafe para comprimir Javascript estáticamente (es decir, no bajo demanda), y PHP muy al estilo de minify pero más simple, para servir via mod_rewrite todo el contenido .js y .css de la aplicación, añadiéndole cache vía servidor. E iba bien, pero lo de combinar los archivos en uno me llamó la atención y la verdad es que minify va mejor!

Lo único que le falta faltaba para mí eran dos cositas de nada:

  • Que puedas hacer el request de un .js con ?debug=true y que te devuelva el archivo sin comprimir. Dicho y hecho.
  • Que permita meter PHP dentro de los archivos js y lo pre-procese antes de servirlos. Yo lo uso para localizaciones, variables globales, etc. Dicho y hecho también.

Página web del proyecto minify

Compártelo
July 23rd, 2007 | Javascript, PHP, Programación |

Sin comentarios

Categorías

Varios

my favorite pictures

    Archivos

    Cerrar
    Enviar por Correo