Ključna razlika: Obfuscation in minification sta dva pogosto uporabljena izraza v programiranju, zlasti pri programiranju JavaScript. Minification definira postopek, s katerim se datoteke spremenijo tako, da odstranite vse nepotrebne znake v datotekah. S tem postopkom so datoteke lažje in tako pomagajo izboljšati zmogljivost. Po drugi strani pa je Obfuscation proces spreminjanja datotek na način, da postanejo neberljivi. Preprečuje ponovno uporabo izvorne kode s strani nepooblaščenih subjektov.
Obfuscation in minification sta dva pogosto uporabljena izraza v programiranju, zlasti pri programiranju JavaScript. Pri programiranju se minifikacija nanaša na tehniko, s katero se iz izvorne kode odstranijo nepotrebni znaki, pri čemer se ohrani enaka funkcionalnost kot pred procesom zmanjševanja. Po drugi strani pa se omamljanje nanaša na spreminjanje datotek na način, da jih je težko brati in razumeti. Oba imata zato različne cilje.
Minification definira postopek, s katerim se datoteke spremenijo tako, da odstranite vse nepotrebne znake v datotekah. S tem postopkom so datoteke lažje in tako pomagajo izboljšati zmogljivost. Te datoteke so naložene v brskalnikih v manj časa. Vendar je pomembno, da funkcionalnost vhodne datoteke ostane nespremenjena. V številnih večjih projektih se minifikacija ohranja v integraciji s postopkom gradnje.
Ta postopek se običajno izvede z razčlenjevanjem kode in kasnejšo ponovno izdelavo v stisnjeni obliki. Koda običajno ostane neberljiva z golimi očmi. Odstrani vse nepotrebne kode, kot so presledki, komentarji in novi znaki vrstic. Poleg pridobivanja manjše datoteke, proces tudi preveri veljavnost kode, saj neveljavna koda ni pravilno razčlenjena in ni pravilno razčlenjena.
Zavrnitev je proces spreminjanja datotek na način, da postanejo neberljivi. Preprečuje ponovno uporabo izvorne kode s strani nepooblaščenih subjektov. Vendar pa obstajajo možnosti za obratni inženiring ali de-obfuscating kodo. Da bi razumel obfuscirano kodo, mora biti brskalnik sposoben prevesti zamegljeno izvorno kodo JavaScripta v prvotno obliko. Podobno kot odstranjevanje odstrani tudi komentarje in presledke. Vendar pa vodi tudi do zavlačevanja kode. Funkcije in imena spremenljivk se na splošno pretvorijo v manjše. To vodi do zmanjšanja velikosti kode in tudi koda postane težje razumljiva.
Zanemarjanje in zmanjševanje, oba sta procesa spreminjanja izvorne kode, kot je JavaScript. Vendar se oba razlikujeta predvsem v svojih ciljih. Za izboljšanje uspešnosti kode se uporablja sprememba. Po drugi strani pa se omamljanje naredi tako, da je izvorna koda težavna in neberljiva, da se skrije izvirna izvorna koda. Obstajajo različna orodja za obfuscation in minification.
Proces minifikacije je sorazmerno preprost in tudi manj možnosti za ustvarjanje katerekoli napake v primerjavi z zamegljenostjo. Obfuscation lahko tudi poveča stopnjo težavnosti razhroščevanja kode med proizvodnjo.
Primerjava med minifikacijo in zatajitvijo:
Minifikacija | Zanemarjanje | |
Definicije | Usklajevanje se nanaša na tehniko, s katero se iz izvorne kode odstranijo nepotrebni znaki, pri čemer se ohrani enaka funkcionalnost kot pred postopkom zmanjševanja | Zavrnitev je proces spreminjanja datotek na način, da postanejo neberljivi in težko razumljivi. |
Cilj | Izboljšanje učinkovitosti | Skrivanje izvorne kode |
Metode | Kot odstranjevanje znakov presledka, novih znakov vrstic, komentarjev in včasih blokirnih elementov | Kot spreminjanje imen spremenljivk, funkcij in članov, zaradi česar je program težje razumljiv |
Primeri uporabljenih orodij | JSMin in YUI kompresor. | Dojo kompresor |
Proces | Enostavno | Primerjalno zapleten |
Tveganje in vzdržljivost | Primerjalno manj | Primerjalno več |