A JCM egy PHP alapú Javascript és CSS tömörítő, mely elsősorban magát a Javascript és Css állományokat tömöríti, minimalizálja felesleges részek elhagyásával,
illetve a későbbi tervekszerint, optimalizált kód generálással. Másodsorban pedig a kapot már tömör kódokat egyesíti egy-egy fájlba (természetesen a JS-ket és a CSS-eket külön),
és Gzip tömörítéssel a lehető legkissebb méretűre csökkenti őket.
Ezáltal az oldal letöltéskor a szervernek csak egy JS és egy CSS állományt kell a kliens felé kiszolgálnia, így csökkentve a hálózati forgalmat,
nem beszélve az így kapott kód méretek csökkenéséről, ami a tömörítés (és GZip) miatt akár felére is csökkenthet.
A technika nem ismeretlen, az alábbi lépéseket tartalmazza:
- JS és CSS fájlok összegyűjtése
- Cache vizsgálat a fájlok utolsó módosításának dátuma alapján, így értelemszerűen csak akkor tömörítünk újra, ha szükséges
- Amennyiben szükséges, akkor tömörítés majd egyesítés a gyorsítótár-fájlban
- Az elkészült gyorsítótár fájlok GZip tömörítése
Mind a JS, mind a CSS állományok, a gyűjtés sorrendjének megfelelően lesznek a gyorsítótárban letárolva.
A tömörítést egy saját és egy külső kód végzi, a JS tömörítést a JCM saját JS tömörítője, a CSS tömörítést pedig a CssMin 3. A CssMin 3 kódja változatlan, eredeti formában működik.
Szeretném megjegyezni, hogy a sem a JCM, sem a tömörítéseket végző külső szoftver működéséért nem vállalok felelősséget! Természetesen több soron letesztelt kódokról van szó, de az ördög sosem alszik. Az esetlegesen ismert hibákat közzé teszem.