Ključna razlika: Obfuscation i minification su dva najčešće korištena pojma u programiranju, posebno u JavaScript programiranju. Minification definira proces kojim se datoteke modificiraju uklanjanjem svih nepotrebnih znakova u datotekama. Ovaj proces čini datoteke lakšima, i na taj način pomaže u poboljšanju performansi. S druge strane, Obfuscation je proces mijenjanja datoteka na način da one postanu nečitljive. On sprječava ponovno korištenje izvornog koda od strane neovlaštenih subjekata.
Obfuscation i minification su dva najčešće korištena pojma u programiranju, posebno u JavaScript programiranju. U programiranju se minifikacija odnosi na tehniku kojom se nepotrebni znakovi uklanjaju iz izvornog koda, uz zadržavanje iste funkcionalnosti kao i prije procesa minifikacije. S druge strane, zamućivanje se odnosi na modifikaciju datoteka na način da ih je teško čitati i razumjeti. Dakle, oboje imaju različite ciljeve koje treba postići.
Minification definira proces kojim se datoteke modificiraju uklanjanjem svih nepotrebnih znakova u datotekama. Ovaj proces čini datoteke lakšima, i na taj način pomaže u poboljšanju performansi. Te se datoteke učitavaju na pregledima u manje vremena. Međutim, važno je zadržati funkcionalnost ulazne datoteke nepromijenjenom. U mnogim većim projektima, minifikacija se drži u integraciji s procesom izgradnje.
Taj se postupak obično izvodi raščlanjivanjem koda i njegovim ponovnim izdavanjem u komprimiranom obliku. Kod obično ostaje nečitljiv golim očima. Uklanja sve nepotrebne kodove kao što su bijeli prostori, komentari i novi znakovi linija. Osim dobivanja manje datoteke, proces također provjerava valjanost koda, budući da nevažeći kôd nije dobro analiziran i miniran.
Zanemarivanje je proces mijenjanja datoteka na način da one postanu nečitljive. On sprječava ponovno korištenje izvornog koda od strane neovlaštenih subjekata. Međutim, postoje šanse za obrnuti inženjering ili za obstrukciju koda. Kako bi razumio zamagljeni kôd, preglednik mora biti u stanju prevesti skriveni izvorni JavaScript kod izvornog oblika. Kao i minification, također uklanja komentare i bijele prostore. Međutim, to također dovodi do munginga koda. Funkcije i nazivi varijabli obično se pretvaraju u manje nizove. To dovodi do smanjenja veličine koda i također postaje teže razumjeti kod.
Obfuscation i minification, oba su procesi mijenjanja izvornog koda kao JavaScript. Međutim, oba se razlikuju prvenstveno u svojim ciljevima. Učinkovitost koda je minimalna. S druge strane, skrivanje određenih poteza je učinjeno kako bi izvorni kod bio težak i nečitljiv, kako bi se sakrio izvorni izvorni kod. Postoje različiti alati za skrivanje određenih poteza i minifikacija.
Proces minifikacije je relativno jednostavan i također postoji manje šanse za stvaranje bilo kojeg od bugova u usporedbi s obfuscation. Zamračenje također može povećati razinu poteškoća u otklanjanju pogrešaka u kodu tijekom proizvodnje.
Usporedba minifikacije i zamračivanja:
Reduciranje | skrivanje određenih poteza | |
definicije | Usklađivanje se odnosi na tehniku kojom se nepotrebni znakovi uklanjaju iz izvornog koda, a zadržava istu funkcionalnost kao i prije procesa minifikacije | Zanemarivanje je proces mijenjanja datoteka na način da oni postanu nečitljivi i teško razumljivi. |
Cilj | Poboljšanje učinkovitosti | Skrivanje izvornog koda |
metode | Kao uklanjanje znakova razmaka, znakova novih linija, komentara i ponekad blokiranja razdjelnika | Poput promjene naziva varijabli, funkcija i članova, što program čini mnogo teže razumljivim |
Primjeri korištenih alata | JSMin i YUI kompresor. | Dojo kompresor |
Postupak | Jednostavan | Komparativno složen |
Rizik i održivost | Komparativno manje | Komparativno više |