Varför använder macOS DMG-filer för nya applikationer?
När du laddar ner ett nytt program för din Mac, kommer det ofta med en .dmg-fil. Enkelt identifierbar med sin ikon för disk-på-papper står "dmg" -tillägget för diskbild. När du dubbelklickar på dmg, monteras den (eller, mer korrekt, bifogas) och avslöjar innehållet i Finder. Därifrån dra och släpp användarna bilderna i programkatalogen för att installera nya appar på sina Mac-datorer.
Denna process är väldigt annorlunda än Windows installationsprocess och kan leda till missadventures för nya MacOS-användare. När jag migrerade från Windows hade jag ingen aning om att detta sista steg var nödvändigt. Trots allt kan många program springa perfekt från sin skivavbildning, och skivbilder förklarar inte alltid "drag-till-program" -steget. Som ett resultat av detta lanserade jag Firefox från diskbilden i ungefär en månad tills jag insåg att jag inte hade några bokmärken och kunde inte förstå varför.
Så varför behövs DMG-filer för nya applikationer, och vad är meningen med att "montera" något bara för att dra och släppa en fil?
Orsak 1: Mac-applikationsstrukturen
Medan en Mac-applikation representeras av en attraktiv ikon som du dubbelklickar för att starta programmet, döljer den ikonen en hemlighet. Den .app-filen representerar faktiskt ett paket. Det är i huvudsak en mapp som innehåller alla programmets filer.
Se själv: högerklicka på någon applikation i Finder och välj "Visa paketinnehåll" för att utforska på egen hand. Eftersom MacOS-applikationer är i huvudsak mappar, behöver de någon form av behållare för att transportera dem till nya datorer utan att förlora filer. Att överföra en naken mapp kan vara rörig, särskilt över nätverk.
Det är som att transportera ett dussin ägg utan en kartong. Och det visar sig att DMG gör en ganska bra äggkartong. Naturligtvis kan andra format innehålla en mapp; Vad gör DMG så varaktigt?
Orsak 2: Estetisk anpassning
Diskbilder erbjuder också en unik fördel: möjligheten att anpassa sitt utseende och användarens installationsupplevelse. Detta inkluderar inställningsfunktioner som anpassade ikoner, ikonpositionering och bakgrundsbilder.
När du öppnar en skivavbildning och ser en pil som ber dig att dra appen i mappen Program, tittar du faktiskt på bakgrundsbilden för DMG. Detta är inte möjligt med andra behållarformat, och macOS-utvecklare är känsliga för visuell design. ZIP-arkiv kan erbjuda komprimering, men de kan inte erbjuda denna grad av "installationsupplevelse" utan att köra ett verkligt installationsprogram. Istället släpper unzipping-programmet bara filer i en mapp och erbjuder utvecklaren liten estetisk kontroll.
Orsak 3: Diskbilder liknar cd-skivor
Kom ihåg att diskbilder blev populära (och antogs av Apple) på dagen för fysiska medier. Under den antika tiden skulle användarna köpa programvara genom att resa till en butik och köpa en låda som innehåller en installations installations-CD. De skulle sedan sätta in cd-skivan i sin CD-enhet och dra programmet från den "monterade" cd-skivan till mappen Program. De skulle följa detta genom att skicka ut cd-skivan och lägga tillbaka den i sitt smyckeskrin för framtida installationer.
Diskbilden mimikerar den processen, piggy-backing på ett välbekant användarbeteende. Bilder kan också vara skrivskyddade (precis som en CD), vilket förhindrar att användaren skadar eller ändrar den kända bra kopian av programmet. Användare kan arkivera skivbilder, eftersom de vet att de kommer att ha en funktionell kopia av appen som är borttagen i nödfall.
Slutsats: Moderna alternativ och paketinstallatörer
Diskbilder ser fortfarande mycket ut, även idag. Tillsammans med deras fördelar har DMG utvecklat en skorpa av tradition och förväntan. Användare förväntar sig att ny mjukvara ska levereras via DMG, så utvecklare ger det så. Men du hittar också en rimlig mängd nakna .app-filer i ZIP-arkiv spridda över Internet. Detta gäller speciellt för applikationer från GitHub eller mindre utvecklare.
Du kan också se att program finns i paket (.pkg) med installatörer ombord. Utvecklare använder paketformat när applikationen behöver utföra instruktioner vid öppnandet. Det är särskilt användbart när programmet behöver kopiera filer till kataloger utanför "/ Applications." Om installationsprogrammet behöver installera anpassade teckensnitt eller kopiera filer till bibliotekskatalogen kan ett paketformat göra det med ett installationsprogram.
Om du är intresserad av allt detta kan du läsa om skivbildens historia.