Por que o macOS usa arquivos DMG para novos aplicativos?

Quando você baixa um novo programa para o seu Mac, ele geralmente vem com um arquivo “.dmg”. Facilmente identificáveis pelo seu ícone de disco sobre papel, a extensão “dmg” significa imagem de disco. Quando você clica duas vezes no dmg, ele monta (ou, mais propriamente, anexa), revelando seu conteúdo no Finder. A partir daí, os usuários arrastam e soltam o conteúdo da imagem no diretório Aplicativos para instalar novos aplicativos em seus Macs.
Esse processo é muito diferente do processo de instalação do Windows e pode levar a desventuras para novos usuários do macOS. Quando eu estava migrando do Windows, não tinha ideia de que esse último passo era necessário. Afinal, muitos programas podem funcionar perfeitamente a partir de sua imagem de disco, e as imagens de disco nem sempre explicam o passo “arraste para Aplicativos”. Como resultado, eu executei o Firefox a partir da imagem de disco por cerca de um mês até perceber que não tinha nenhum favorito e não conseguia entender o porquê.
Então, por que os arquivos DMG são necessários para novos aplicativos e qual é o objetivo de “montar” algo apenas para arrastar e soltar um arquivo?
Razão 1: A Estrutura do Aplicativo Mac

Enquanto um aplicativo Mac é representado por um ícone atraente que você clica duas vezes para iniciar o aplicativo, esse ícone oculta um segredo. O arquivo .app na verdade representa um pacote. Isso é essencialmente uma pasta que contém todos os arquivos do aplicativo.
Veja por si mesmo: clique com o botão direito em qualquer aplicativo no Finder e selecione “Mostrar Conteúdo do Pacote” para explorar por conta própria. Como os aplicativos do macOS são essencialmente pastas, eles precisam de algum tipo de contêiner para transportá-los para novos computadores sem perder arquivos. Transferir uma pasta nua pode ser bagunçado, especialmente através de redes.
É como transportar uma dúzia de ovos sem uma caixa. E acontece que o DMG faz uma boa caixa de ovos. Claro, outros formatos podem conter uma pasta; o que mais torna o DMG tão duradouro?
Razão 2: Personalização Estética

As imagens de disco também oferecem um benefício único: a capacidade de personalizar sua aparência e a experiência de instalação do usuário. Isso inclui definir recursos como ícones personalizados, posicionamento de ícones e imagens de fundo.
Quando você abre uma imagem de disco e vê uma seta pedindo para arrastar o aplicativo para a pasta Aplicativos, você está na verdade olhando para a imagem de fundo do DMG. Isso não é possível com outros formatos de contêiner, e os desenvolvedores do macOS são sensíveis ao design visual. Arquivos ZIP podem oferecer compressão, mas não podem oferecer esse grau de “experiência de instalação” sem executar um instalador real. Em vez disso, o programa de descompactação apenas coloca arquivos em uma pasta, oferecendo ao desenvolvedor pouco controle estético.
Razão 3: Imagens de Disco São Semelhantes a CDs
Lembre-se de que as imagens de disco se tornaram populares (e foram adotadas pela Apple) na era da mídia física. Naquela época antiga, os usuários compravam software viajando até uma loja e adquirindo uma caixa contendo o CD de instalação de um aplicativo. Eles então inseriam o CD em sua unidade de CD e arrastavam o aplicativo do CD “montado” para a pasta Aplicativos. Eles seguiam isso ejetando o CD e colocando-o de volta em sua caixa de jewel para futuras instalações.
A imagem de disco imita esse processo, aproveitando um comportamento familiar do usuário. As imagens também podem ser somente leitura (assim como um CD), impedindo que o usuário danifique ou altere a cópia boa conhecida do aplicativo. Os usuários podem arquivar imagens de disco, sabendo que terão uma cópia funcional do aplicativo guardada em caso de emergência.
Conclusão: Alternativas Modernas e Instaladores de Pacote

As imagens de disco ainda são muito utilizadas, mesmo hoje. Juntamente com seus benefícios, os DMGs desenvolveram uma crosta de tradição e expectativa. Os usuários esperam que novos softwares sejam entregues via DMG, então os desenvolvedores fornecem dessa forma. Mas você também encontrará uma quantidade razoável de arquivos .app nus dentro de arquivos ZIP espalhados pela Internet. Isso é especialmente verdadeiro para aplicativos do GitHub ou de desenvolvedores menores.
Você também pode ver aplicativos vindo em pacotes (.pkg) com instaladores a bordo. Os desenvolvedores usam o formato de pacote quando o aplicativo precisa executar instruções ao ser aberto. É especialmente útil quando o programa precisa copiar arquivos para diretórios fora de “/Aplicativos”. Por exemplo, se o instalador precisa instalar fontes personalizadas ou copiar arquivos para o diretório Library, um formato de pacote pode realizar isso com um instalador.
Se você está interessado em tudo isso, pode ler sobre a história da imagem de disco.