Tinyfier
Tinyfier es una herramienta que se encarga de combinar múltiples ficheros Javascript y CSS, eliminar metadatos y caracteres innecesarios, y comprimir el resultado para enviarlo al cliente de la manera más óptima y rápida posible. Hasta ahora, no hay mucha novedad respecto a otros minificadores más famosos y populares tales como Minify o YUI Compressor. Pero Tinyfier va mucho más allá:
- Es ligero. La mayoría de herramientas que realizan una función similar a Tinyfier utilizan todo un completo sistema de clases, vistas, patrones, plugins, herencias, etc. etc. ¿De verdad es necesario toda esa implementación para enviar un archivo al usuario? Por esa razón he pretendido que Tinyfier sea lo más austero y sencillo posible, mejor dejar la complejidad para el resto de la aplicación que se esté desarrollando. Además, se gana en velocidad de procesado, ya que se alivia de carga innecesaria al intérprete PHP.
- Utiliza Google Closure Compiler para minimizar Javascript, lo que produce un código más seguro y ligero que con cualquier otro minificador empleado. Dado que es un servicio web, cuando no puede acceder a él o se obtiene algún error, utiliza JSMinPlus.
- Añade funcionalidad extra a los CSS, como variables, selectores anidados, imágenes en línea codificadas en base64, filtros, degradados, etc. Para ello, Tinyfier utiliza el genial lessphp, por lo que puedes usar cualquiera de las funcionalidades que ésta librería ofrece en tus archivos CSS.
- Dos modos de generación de CSS (compatible/normal). Puedes configurar Tinyfier para que genere un CSS distinto para navegadores IE6 y anteriores, de manera que los mantenga los hacks y no incruste las imágenes en base64, y otra versión para navegadores modernos, donde se borrarán algunos de los hacks y se incrustarán las imágenes especificadas mediante el atributo !inline en el css para optimizar el número de peticiones necesarias al servidor.
- Envía cabeceras para el control óptimo de la caché, mediante Etag y fecha de última modificación, que evitan tener que enviar al usuario el mismo documento si éste ya lo ha descargado.
- Incluye comandos para el refresco de la caché y depurado del código generado.
Ejemplos de uso
Para usar tinyfier, simplemente extrae su contenido en alguna carpeta de tu servidor web y referencia tus archivos CSS o Javascript a través de él. Por ejemplo:
<link rel=”stylesheet” href=”estilo.css” />
<link rel=”stylesheet” href=”estilo2.css” />
Pasaría a ser:
<link rel=”stylesheet” href=”tinyfier/f=estilo.css,estilo2.css” />
Puedes encontrar más información en el repositorio de Tinyfier en GitHub y en los ejemplos incluidos en su descarga. Además, también puedes hallar una demostración en vivo de Tinyfier en Xuletas.
Historial de versiones
- 11/12/2011 Múltiples cambios internos, añadido soporte para lessphp, creado repositorio en GitHub
- 5/01/2010 Versión de revisión y corrección de errores
- 8/12/2009 Versión inicial
Descarga y código fuente: Tinyfier