Přejít k navigační liště

Zdroják » Zprávičky » JSMin+ : minimalizátor JavaScriptu v PHP

JSMin+ : minimalizátor JavaScriptu v PHP

K dispozici je řada minimalizátorů javascriptového kódu. Tino Zijdelovi se ale žádný z nich nezamlouval a rozhodl se napsat vlastní. Tak vznikl JSMin+. Ovšem velmi zajímavý je rozbor, který Tino sepsal a ve kterém nejenže zmiňuje stávající minimalizátory, ale hlavně detailně popisuje, jak postupoval při tvorbě toho svého.

Po špatné zkušenosti se stávajícími minimalizátory, které často nebyly schopny zpracovat libovolný javascriptový kód, bylo Tinovi jasné, že jeho minimalizátor musí obsahovat regulérní parser JavaScriptu. To by znamenalo buď nastudovat celou specifikaci nebo použít hotové řešení. Tino zvolil druhou cestu a vyšel z projektu Narcissus, což je parser JavaScriptu napsaný v JavaScriptu samotným Brendanem Eichem. Přepsat tento kód do PHP již nebyl velký problém, pak již stačilo jen zapojit optimalizační kroky a bylo hotovo. Jednou z výhod je, že pokud se do javascriptového souboru dostane syntaktická chyba, zjistíte to okamžitě už na serveru (minimalizátor to může zalogovat).

Na výsledek se můžete podívat sami: původní kód, minimalizovaný kód.

Všimněte si, že Tino se nesnaží o maximální možnou minimalizaci, ale jen o rozumnou minimalizaci, takže např. zachovává názvy funkcí, proměnných, deklarace funkcí nechává na samostatných řádkách atd. Tím pochopitelně nemůže konkurovat stávajícím minimalizátorům, na druhou stranu výsledný kód je za nouzových podmínek čitelný a při výskytu problému, je možné jej lokalizovat (což se o většině stávajících minimalizátorů říct nedá). Možná bychom tak tento nástroj měli přejmenovat na optimalizátor, protože to lépe vystihuje to, co dělá.

Líbí se vám Tinův přístup nebo máte raději stávající minimalizátory?

Komentáře

Odebírat
Upozornit na
guest
1 Komentář
Nejstarší
Nejnovější Nejvíce hlasů

Proč vám model napíše Python, i když jste si řekli o Rust

AI
Komentáře: 0
Výkonnostní propast mezi Pythonem a ostatními jazyky se za poslední rok a půl skoro zavřela. Dnešní modely zvládají Rust i Go srovnatelně dobře. Když jim ale volbu necháte, sáhnou stejně po Pythonu. A u knihoven je to ještě výraznější: mezi funkčně srovnatelnými balíčky je až 84procentní rozdíl v kvalitě generovaného kódu. Proč to tak je a co s tím.

WP2Shell: Kritická hrozba pro samotné jádro WordPressu. Útočníci mohou získat kontrolu nad webem

Zranitelnost ve WordPressu není žádná novinka. Kdo provozuje weby postavené na této platformě, ví, že bezpečnostní záplaty chodí prakticky pořád. O to větší pozornost by měla vzbudit chyba, u které nic z toho neplatí. A přesně takový je případ zranitelnosti, která dostala přezdívku wp2shell. potřeb. Zranitelný kontaktní formulář, děravý e-shopový plugin, opomenutá kontrola oprávnění v nějaké obskurní rozšiřující knihovně – to je denní chleba každého, kdo sleduje bezpečnostní feedy. Zpráva „nová chyba ve WordPress pluginu“ má tak nízkou informační hodnotu, že ji většina lidí přejde bez mrknutí oka.

Mýtus jedné aplikace: proč PWA nenahradí vývoj pro každou platformu

PWA mohou webu přidat ikonu na ploše, fungování bez připojení, notifikace a některé systémové funkce. Nejsou ale cestou k jednomu klientu pro všechny platformy. Vyplatí se tam, kde se lidé k webu vracejí a ocení okamžitý vstup z odkazu. Jakmile aplikace musí spolehlivě běžet na pozadí nebo fungovat stejně na každém zařízení, bývá vhodnější nativní řešení.