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