Почему мне не нужно устанавливать программы?

13

Я только начал использовать Mac для разработки iOS, появившись после двух десятилетий использования Windows, и я удивлен и смущен, обнаружив, что нет никакого процесса установки для программ Mac ... вы просто скачиваете их, открываете DMG, Скопируйте файл и нажмите.

Это смущает меня без конца.

Может кто-нибудь объяснить на техническом уровне, в чем разница? Как это может быть необязательно для выполнения процесса установки?

И если такая возможность возможна, почему не все ОС работают так?

temporary_user_name
источник
Стоит отметить, что простое перетаскивание *.app папки на локальный диск может вызвать действия с файлами. Кроме того, nnn.appэто папка , а не файл. Как работают Mac-приложения, довольно сложно.
Фальшивое имя
Я просто хотел бы отметить, что установщики Windows делают некоторые вещи, помимо копирования файлов и установки ярлыков. Один из них - создать точку восстановления, чтобы система могла вернуться в исходное состояние, если что-то пойдет не так. Другой, чтобы обновить реестр с помощью процесса удаления. Поскольку приложения Windows не связаны, как приложения OS X, последний процесс определенно необходим.
Крис Харпер

Ответы:

15

Мы, пользователи Mac, задаем тот же вопрос другим способом: зачем вам (не) установщик для всего в Windows?

Большинство программ для Mac являются полными пакетами - все их ресурсы находятся в папке приложения (щелкните правой кнопкой мыши значок приложения -> Показать содержимое пакета). Поэтому они будут запускаться откуда угодно, есть системная переменная, которая сообщает коду, где она находится. Часто приложение может быть запущено непосредственно с загруженного DMG и даже с удаленного сервера. Бит производительности, но это будет работать. Пользовательские настройки находятся в пользовательской библиотеке, также есть системные процедуры для управления механикой.

У Mac нет центрального реестра, который требует настройки (или обслуживания), поэтому туда тоже ничего не нужно.

Если вы разрабатываете приложения для Mac, вам следует очень постараться, чтобы не нуждался в установщике - только если вы устанавливаете общие библиотеки или службы уровня оболочки. В общем, можно обойтись без.

Поскольку вы движетесь к программированию на iOS, я бы посоветовал не беспокоиться об этом. Правила iOS скажут вам, где что сохранить, и это НЕ подлежит обсуждению. Настройки идут сюда, пользовательские данные идут туда. Вы будете использовать предоставленные API. Соответствуют. Подчиняться.

Павел
источник
Ни одно приложение не может думать иначе?
Machinarius
С другой стороны, если приложение, которое входит в комплект (.app), добавляет файлы в систему (например, в / Library, другие места), регистрирует службы, панели настроек и т. Д., Простое «удалить .app» не не очищайте его, и действительно, ничто не очищает его, хотя есть и другие приложения, которые (или, по крайней мере, так утверждают) очищают артефакты от отсутствующих приложений.
Уго
Можете ли вы объяснить, как это имеет смысл? Многие приложения должны распознаваться как обработчики для определенных файлов. Это невозможно сделать только с помощью процесса извлечения файлов; приложение должно где-то зарегистрироваться, возможно, эквивалентно реестру Windows. Как приложение может не нуждаться в установщике.
user541686 13.12.15
5

На самом деле, в OS X есть много вещей, которые нужно «установить».

Обычно «установленные» приложения представляют собой пакеты, содержащие определенные инструкции. Проще говоря, пакет запускает скрипт и указывает системе создавать / перемещать файлы в разных частях ОС. Это необходимо для таких программ, как пакет Adobe CS или Microsoft Office.

Другие виды приложений - это своего рода «автономные приложения», в которых вам нужен только один исполняемый файл. Этот файл при открытии создает его зависимости, файлы настроек и тому подобное.

ronaldpoi
источник
3

Во многих случаях установщик Windows на самом деле ничего не делает, кроме извлечения сжатых файлов и их записи в место назначения.

Затем он создает несколько ярлыков и может зарегистрироваться для открытия файлов с определенными расширениями.

В установке программного обеспечения в Windows нет ничего волшебного, и для большинства программ Windows вы можете взять каталог установленного программного обеспечения и скопировать его непосредственно на другой компьютер и запустить там без повторной установки.

Так что это в основном разница между пользовательскими интерфейсами (кто отвечает за копирование файлов), а не разница между тем, что действительно происходит.

MTilsted
источник