Jawr 2.0, ahora con soporte para Facelets y Grails
lunes, abril 21, 2008 at 12:48PM La nueva versión de Jawr permite ahora a los usuarios de Facelets y Grails aprovechar las ventajas de esta herramienta.
Jawr es una librería Open Source que tiene dos utilidades para el desarrollo de aplicaciones web Java en las que se usa mucho javascript:
- Por un lado es una herramienta de productividad, ya que nos permite desarrollar todo el javascript en módulos independientes, en lugar de juntar todo en uno o dos archivos. El hecho de trabajar con módulos independientes nos hace la vida más fácil tanto a la hora de desarrollar y mantener como para el control de versiones.
- Por otro lado, es una herramienta de rendiemiento que acelera la carga de las páginas de nuestra aplicación, ya que en producción todos los módulos que se han desarrollado por separado se unen en uno solo (o en varios, según configuremos), se minifican y se comprimen. Así se reducen tanto el número de peticiones HTTP necesarias para cargar el código, como el tamaño en Kb del mismo.
Jawr se configura añadiendo un servlet a la configuración de nuestra aplicación, y creando un sencillo archivo .properties para configurar el modo de empaquetar los componentes (por cierto que también une y minifica CSS). Con una tag library referenciamos en las JSP a colecciones de componentes por un nombre lógico que configuramos en el properties.
Estas tags, en modo desarrollo, crearan enlaces a los módulos sueltos, sin comprimir, que podemos depurar por ejemplo con el Firebug. En producción, sin cambiar más que un flag de configuración, las tags crean enlaces a la versión unificada y comprimida.
Otras posibilidades interesantes son la mencionada integración con Facelets y Grails, se puede definir postprocesadores custom en java que modificarán el javascript o el CSS en producción, se pueden definir paquetes que se importan por defecto en todas las páginas, paquetes que se incluyen dentro de un conditional comment de internet explorer, etc...
Jawr tiene una licencia Apache 2.0. Bajo el capó se puede configurar para que comprima el javascript usando JSMin o YUI Compressor (ambos con licencia BSD). Por cierto que usando YUI Compressor también podemos ofuscar el javascript.
j2ee 
Reader Comments