Kľúčový rozdiel: Obfuscovanie a minifikácia sú dva bežne používané výrazy v programovaní, najmä v programovaní JavaScript. Zmenšenie definuje proces, ktorým sa súbory upravujú odstránením všetkých nepotrebných znakov v súboroch. Tento proces zjednodušuje súbory a tým pomáha pri zlepšovaní výkonu. Na druhej strane, Obfuscation je proces úpravy súborov spôsobom, ktorý sa stáva nečitateľným. Zabraňuje opätovnému použitiu zdrojového kódu neoprávnenými entitami.
Zmäkčovanie a minimalizácia sú dva bežne používané výrazy v programovaní, najmä v programovaní JavaScript. Pri programovaní sa minifikácia vzťahuje na techniku, ktorou sa zo zdrojového kódu odstránia nepotrebné znaky, pričom sa zachová rovnaká funkčnosť ako pred procesom minifikácie. Na druhej strane zmätok označuje zmenu súborov tak, že je ťažké ich prečítať a pochopiť. Preto majú obe ciele dosiahnuť rôzne ciele.
Zmenšenie definuje proces, ktorým sa súbory upravujú odstránením všetkých nepotrebných znakov v súboroch. Tento proces zjednodušuje súbory a tým pomáha pri zlepšovaní výkonu. Tieto súbory sa načítavajú na prehliadanie v menšom čase. Je však dôležité zachovať funkčnosť vstupného súboru nezmenený. V mnohých väčších projektoch sa minifikácia udržiava v integrácii s procesom budovania.
Tento proces sa zvyčajne vykonáva pomocou analytického kódu a neskôr ho opäť vytlačiť v komprimovanej podobe. Kód je zvyčajne nečitateľný s nahými očami. Odstraňuje všetky nepotrebné kódy ako biely priestor, komentáre a nové riadkové znaky. Okrem získania menšieho súboru proces kontroluje aj platnosť kódu, pretože neplatný kód nie je správne analyzovaný a správne.
Obfuscation je proces úpravy súborov spôsobom, ktorý sa stáva nečitateľným. Zabraňuje opätovnému použitiu zdrojového kódu neoprávnenými entitami. Existuje však šanca na reverzné inžinierstvo alebo na zablokovanie kódu. Aby bol porozumel nesprávnemu kódu, prehliadač musí byť schopný preložiť nezmyselný zdrojový kód jazyka JavaScript do pôvodného formulára. Rovnako ako minimalizácia odstraňuje aj komentáre a biele medzery. Avšak vedie to aj k mungingu tohto kódu. Funkcie a názvy premenných sú všeobecne premenené na menšie reťazce. To vedie k zníženiu veľkosti kódu a takisto je ťažšie pochopiť kód.
Obfuscation a minification, oba sú procesy modifikácie zdrojového kódu ako JavaScript. Obaja sa však primárne líšia svojimi cieľmi. Vylepšenie výkonu kódu je vykonávané. Na druhej strane je zmätok urobený tak, aby bol zdrojový kód obtiažny a nečitateľný, aby sa skryl pôvodný zdrojový kód. Existujú rôzne nástroje na zamlžovanie a zmiernenie.
Proces minimalizácie je pomerne jednoduchý a tiež existuje menšia šanca na vytvorenie ktorejkoľvek z chýb v porovnaní s obfuscation. Obfuscation môže tiež zvýšiť úroveň obtiažnosti ladenia kódu počas výroby.
Porovnanie medzi zmiernením a zmätením:
Minification | zahmlievanie | |
definícia | Minifikácia sa vzťahuje na techniku, ktorou sa zo zdrojového kódu odstránia nepotrebné znaky, pričom sa zachová rovnaká funkčnosť ako pred procesom minifikácie | Obfuscation je proces úpravy súborov spôsobom, ktorý sa stáva nečitateľným a ťažko pochopiteľným. |
Cieľ | Zlepšenie výkonu | Skrytie zdrojového kódu |
metódy | Rovnako ako odstraňovanie znakov v bielom priestore, nových znakov riadkov, komentárov a niekedy blokovacích oddeľovačov | Rovnako ako zmena názvov premenných, funkcií a členov, čím je program oveľa ťažšie pochopiteľný |
Príklady použitých nástrojov | Kompresor JSMin a YUI. | Kompresor Dojo |
proces | prostý | Porovnateľne zložité |
Riziko a udržiavateľnosť | Porovnateľne menej | Porovnateľne viac |