Nøgleforskel: Obfuscation og minificering er to almindeligt anvendte udtryk i programmering, især i JavaScript-programmering. Minificering definerer en proces, hvormed filerne ændres ved at fjerne alle unødvendige tegn i filerne. Denne proces gør filerne lettere og hjælper dermed med at forbedre ydeevnen. På den anden side er Obfuscation processen med at ændre filer på en måde, at de bliver uleselige. Det forhindrer genbrug af kildekoden af uautoriserede enheder.
Obfuscation og minificering er to almindeligt anvendte udtryk i programmering, især i JavaScript-programmering. Ved programmering refererer minifunktionen til en teknik, hvormed unødvendige tegn fjernes fra kildekoden, samtidig med at den har samme funktionalitet som før processen med minificering. På den anden side refererer obfuscation til ændringen af filerne på en måde, at det bliver svært at læse og forstå dem. Således har begge forskellige mål at opnå.
Minificering definerer en proces, hvormed filerne ændres ved at fjerne alle unødvendige tegn i filerne. Denne proces gør filerne lettere og hjælper dermed med at forbedre ydeevnen. Disse filer er indlæst på browses på mindre tid. Det er dog vigtigt at holde funktionaliteten i inputfilen uændret. I mange af de større projekter holdes minificering i integration med byggeprocessen.
Denne proces udføres generelt ved at analysere kode og senere udlæse den igen i en komprimeret form. Koden forbliver normalt ulæselige med blotte øjne. Det fjerner al unødvendig kode som hvide mellemrum, kommentarer og nye linjetegn. Bortset fra at få en mindre fil, kontrollerer processen også validiteten af koden, da den ugyldige kode ikke analyseres og formindskes ordentligt.
Obfuscation er processen med at ændre filer på en måde, at de bliver uleselige. Det forhindrer genbrug af kildekoden af uautoriserede enheder. Imidlertid er der chancer for omvendt teknik eller afbøjning af koden. For at forstå den forvirrede kode skal browseren være i stand til at oversætte den obfuscated JavaScript kildekode til sin oprindelige form. Ligesom minificering fjerner den også kommentarer og hvide rum. Det fører dog også til at kvæle koden. Funktioner og variabelnavne konverteres generelt til mindre strenge. Dette fører til reduktion i kodenes størrelse og også koden bliver sværere at forstå.
Obfuscation og minificering, begge er processer til at ændre kildekoden som JavaScript. Imidlertid afviger de begge primært i deres mål. Minificering er udført for at forbedre kodeksens ydeevne. På den anden side gøres forvirring for at gøre kildekoden vanskelig og ulæselig for at skjule den oprindelige kildekode. Der er forskellige værktøjer til obfuscation og minificering.
Minificeringsprocessen er forholdsvis enkel, og der er også færre chancer for at generere nogen af bugsne i forhold til forvirring. Forvirring kan også øge sværhedsgraden for fejlfinding af koden under produktionen.
Sammenligning mellem minificering og obfuscation:
minifikationen | formørkelse | |
Definitioner | Reduktion refererer til en teknik, hvormed unødvendige tegn fjernes fra kildekoden, samtidig med at den har samme funktionalitet som før processen med minificering | Forvirring er processen med at ændre filer på en måde, at de bliver uleselige og vanskelige at forstå. |
Mål | Forbedring af ydeevnen | Skjuler kildekode |
Metoder | Som at fjerne hvide mellemrumstegn, nye linjetegn, kommentarer og til tider blokere afgrænsere | Som at ændre navnene på variabler, funktioner og medlemmer, hvilket gør programmet meget sværere at forstå |
Eksempler på anvendte værktøjer | JSMin og YUI Kompressor. | Dojo Kompressor |
Behandle | Enkel | Komparativt kompleks |
Risiko og vedligeholdelighed | Relativt mindre | Til sammenligning mere |