Optimalizacia webu (komprimujeme javascript)

V predoslom clanku Optimalizacia webu GZip Kompresiou (preco a ako na to) som pisal ako optimalizovat web za pouzitia Gzp kodovania. Dnes v dobe WEB 2.0 je samozrejmostou pouzivanie v aplikaciach AJAX a mnozstvo dalsich javascriptov. Javascript sam o sebe datovou velkostou je velky a ked chceme docielit spravnu optimalizaciu, potrebujeme zmensit jeho objem ale tak aby funkcionalita nebola porusena. Skor ako vsak popisem sposoby komprimacie by bolo vhodne napisat, ako je najspravejsie vkladat akykolvek javascript do stranky.

Písmo: A- | A+
Diskusia  (1)

Kde pouzit javascript ?

Javascript v suvislosti s browserom ma tu istu vlastnost ako CSS a to v tom ze browser si ho uchovava v pamati. Z toho dovodu je dolezite vkladat ho do html ako externy subor. Browser akurat len skontroluje ci ho videl (nazov suboru) a ak ano , jeho kod pouzije zo svojej pamate. Casto krat javascriptovy kod ktory mame pouzity sluzi na fukciu ktora nastava az po uplnom nacitani stranky. Prave z toho dovodu pokial to nie je nevyhnutne, vkladame javasciptovy kod na co najnizzsie miesto dokumentu.(priklad kod Google Analytics).

SkryťVypnúť reklamu
SkryťVypnúť reklamu
SkryťVypnúť reklamu
Článok pokračuje pod video reklamou
SkryťVypnúť reklamu
Článok pokračuje pod video reklamou

Ako optimalizovat Javascript ?

Je viac sposobov ako docielit optimalizaciu javascriptu a vedu sa o tom polemiky. Poniektori hovoria ze staci prepisat koncovku na php a ulozit ho ako php subor. Ini zas tvrdia ze je lepsie komprimovat. Z osobnej skusenosti viem ze oba sposoby su pouzitelne a pokial je k tomu pripojena kompresia Gzip , vysledok je pozadovany. Prepisanie koncovky nie je problem pre nikoho, komprimovanie je uz narocnejsie.

Ako vyzera skomprimovany javascript a na co davat pozor.

V mojom clanku Ako vytvorit videogaleriu pomocou AJAXU su k dispozicii aj zdrojove kody. Jeden z pouzitych javascriptov pred komprimaciou vyzeral takto . Tento druhy subor je uz po komprimacii. Ake su medzi nimi rozdiely? Jedna sa o ten isty kod, s tym ze v ukazke cislo 2 boli odstranene vsetky biele (cize volne) miesta v kode,komentare a tak isto bolo uskutocnene laicky povedane zdruzenie funkcii. Prvy subor ma velkost 5.8 KB a druhy uz len 2.44 KB cize bolo dosiahnute znizenie objemu okolo 60%. Problemom druheho suboru vsak je ze je prakticky necitatelny a preto pred akoukolvek komprimaciou si treba povodny subor bezpecne ulozit. Treba to urobit aj z toho dovodu, ze komprimacia obcas moze znicit uplne funkcionalitu daneho javascriptu.

SkryťVypnúť reklamu

Ako skomprimovat javascript

Jeden z najlepsich nastrojov ktory vymaze biele miesta, komentare je jsmin . Takisto mam dobre skusenosti s tymto packerom. No a samozrejme jeden z priekopnikov a najlepsich je Dean Edwards Packer Pre profesionalov k testovaniu je vynikajucim nastrojom JsUnit Unit Testing Framework.

Ako spravne skombinovat komprimovany javascript so serverovym Gzip kodovanim a MOD DEFLATE ?

Najprv .htaccess subor

# Kompresia
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip
#Header append Vary User-Agent
# DeflateCompressionLevel 9
# DeflateFilterNote Input instream
# DeflateFilterNote Output outstream
# DeflateFilterNote Ratio ratio

SkryťVypnúť reklamu

ExpiresActive On
ExpiresByType application/x-javascript A2592000
ExpiresByType application/x-Shockwave-Flash A2592000

No a na zaciatok prveho suboru aplikacie uz znamy kod:

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>

Na zaver iba tolko, ze nastrojov ohladne komprimacie je urcite viac, uvadzal som tie s ktorymi mam dobre skusennosti, pred akoukolvek komprimaciou si vsak zalohujte povodny javascriptovy kod.

Peter Akarkor

Peter Akarkor

Bloger 
  • Počet článkov:  39
  •  | 
  • Páči sa:  0x

Mojim domovom je miesto kde prave zijem ale vlastou navzdy zostane len jedna krajina. a mozno preto to tak trochu boli .....Kodex BlogeraFeedjit Live Website Statistics Zoznam autorových rubrík:  TutorialyNezaradeneZazitkySúkromnéPolitika

Prémioví blogeri

Marian Nanias

Marian Nanias

274 článkov
Marcel Rebro

Marcel Rebro

141 článkov
Roman Kebísek

Roman Kebísek

105 článkov
Yevhen Hessen

Yevhen Hessen

35 článkov
INESS

INESS

108 článkov
reklama
reklama
SkryťZatvoriť reklamu