Cédric Walter | Oct 8, 2020 | 0
More performances for Joomla! with com_minify
Announcement of com_minify
I am developing a new component com_minify that will greatly reduce the number of http requests
from yahoo performance developer
80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, style sheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages.
One way to reduce the number of components in the page is to simplify the page’s design. But is there a way to build pages with richer content while also achieving fast response times? Here are some techniques for reducing the number of HTTP requests, while still supporting rich page designs.
Combined files are a way to reduce the number of HTTP requests by combining all scripts into a single script, and similarly combining all CSS into a single style sheet. Combining files is more challenging when the scripts and style sheets vary from page to page, but making this part of your release process improves response times.
I was developing this week end this component (name com_combine) but decide it would be better to use a proven engine, and I found one:
The list of features is huge
- Uses an enhanced port of Douglas Crockford’s JSMin library and custom classes to minify CSS and HTML
- Caches server-side to avoid doing unnecessary work
- Responds with an HTTP 304 (Not Modified) response when the browser has an up-to-date cache copy
- Most modules are lazy-loaded as needed (304 responses use minimal code)
- Automatically rewrites relative URIs in combined CSS files to point to valid locations
- With caching enabled, Minify is capable of handling hundreds of requests per second on a moderately powerful server.
- Content-Encoding: deflate/gzip, based on request headers. Caching allows it so serve deflated files faster than Apache’s mod_deflate option!
- Test cases for most components
- Easy integration of 3rd-party minifiers
- Separate utility classes for HTTP encoding and cache control
On top of that you’ll get the ease of
- Installation and removal like any #Joomla! component
- A real back end administration panel, multilingual,
- Version check to always keep up to date,
- Some security measure inherited from #Joomla! framework and best practices.
- GPL v3 license for com_minify,
- BSD license for the engine minify
Download it later this week HERE