Программное обеспечение Mac может поставляться как .app
пакет приложений (по существу, папка, содержащая все ресурсы программы) или как .pkg
установщик, который представляет собой программу, которая устанавливает приложения аналогично Windows.
В качестве простых двоичных файлов доступны только инструменты командной строки, которые затем будут скопированы в какое-либо место пользователя, PATH
например /usr/local/bin
.
Они могут быть упакованы в образ диска OS X / macOS ( .dmg
) или в традиционный формат архива, такой как .zip
или .tar
.
Какова логика, для которой программное обеспечение должно быть установлено с таким «виртуальным диском»?
Это в значительной степени зависит от разработчика. А .dmg
это просто виртуальный жесткий диск, а не установщик. Выбор использования - .dmg
это упаковка, а не установка.
Если приложение представляет собой простой .app
пакет, оно является автономным и может быть запущено двойным щелчком по нему. Это обычно копируется /Applications
для удобства.
В дополнение к шифрованию и EULA при открытии, преимущество .dmg
над типом архива заключается в брендинге. .dmg
S могут быть предоставлены пользовательские значки, пользовательские фоновые изображения и расположение содержимого может быть исправлено. .dmg
Обычно они также доступны только для чтения, поэтому содержимое останется в точности так, как задумал разработчик.
Они также заставляют пользователя выбирать, где ему нужно приложение; когда вы распаковываете архив, содержимое, как правило, будет извлечено туда, где был расположен архив. Напротив, .dmg
s будет монтироваться в файловой системе, а затем .app
пакет должен быть явно скопирован.
Почему это не простой бинарный файл или я не знаю что?
Приложение Mac - это больше, чем просто бинарный файл. В дополнение к двоичному (расположен в <appname>.app/Contents/MacOS/
), .app
включает в себя ряд ресурсов в <appname>.app/Contents/Resources/
. Эти ресурсы включают в себя значки, графику и файлы локализации, такие как en.lproj
.