Origin of WUIC

Many websites have poor performances due to the many RTTs (round trip time) performed to load images, javascript and css files. A lot of developers know that it is recommended to aggregate those files to reduce the number of RTTs. Moreover, some tools like YUICompressor can reduce the size of your CSS and Javascript files to speed up the page loading.

However, people do not apply those good practices. The truth is that it is a too expensive task in time in a continuous delivery. People don't have the time to aggregate the files, minify (in case of scripts) or create sprites (in case of images) and change the import statement in there HTML code.

In this context, we really needed a tool which automates as much as possible those tasks with advantage of development productivity and the guarantee that good practices will be applied easily. Quickly, WUIC makes easy to integrate statics in different application types with various infrastructure.

Stack

WUIC has its core written in JAVA and covers without any dependency a lot of use cases. The core is itself wrapped in a set of assets related to JEE. Finally, the former or the later could be extended with various modules.

This schema shows how the modules are organized:

As you can see, everything is not implemented yet. See the roadmap for more information.

Release

Our current release is the v0.5.1!

See the change logs here.

You can integrate the library using this maven dependency (available on the maven central repository):

        <dependency>
            <groupId>com.github.wuic</groupId>
            <artifactId>wuic-{wuic-module}</artifactId>
            <version>0.5.1</version>
        </dependency>
    

If your webapp is based on JSPs, the easiest way to use WUIC is to add the wuic-tag artifact in your pom.xml. Otherwise, you can just depend on the wuic-servlet artifact.

Roadmap

WUIC provides regularly new releases with a larger set of features and improvements.

We track a lot of enhancements and their milestones on github. Here is a teaser of some of them: