The 2.4 version of
Jawr has just been released. Jawr is a server side java library that helps in developing applications in which javascript plays an important role (such as any AJAX rich client). It offers combination, minification and compression of scripts and CSS files. Each resource gets a dynamic URL that changes only when any of its underlying resources is changed. This means that clients will get an resource once and won't redownload until there are actual changes in it.
Minification can be performed by a choice of first class minifiers (currently
JSMin and the
YUI compressor), and occurs at server startup, so there is zero overhead to requests.
Users of
YSlow should notice a very nice improvement in their grading when using Jawr, meaning that their application will load faster and be more responsive to user interaction.
Version 2.4 adds a long time missed feature: the ability to use Jawr in static HTML pages. Until now, a tag library was required to generate the links to Jawr managed resources. Now, by using a small module loader script, both dynamic and static pages can benefit from the features of Jawr.
This includes the ability to switch from development mode (in which resources are imported uncompressed and separately) to production mode by changing a flag in the descriptor properties file.
Previous versions have added new features that improve the experience of working with javascript in java web applications. An i18n module was recently included which allows users to easily convert standard ResourceBundles into javascript variables that even feature placeholder replacement. These are referenced in a generic way and then a configurable locale resolution strategy determines the language version to send to each user.
Integration with javascript producing libraries is being added as well: Jawr will combine and compress the scripts generated by DWR and the Apache Commons Validator, even allowing user scripts or other libraries to be combined with these as well.
Aside of static HTML, Jawr also supports alternative view technologies other than JSP: currently it can also be used with Facelets and Grails applications.
All these features are thoroughly documented at
Jawr's homepage.