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


13

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

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

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

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


Стоит отметить, что простое перетаскивание *.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.

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


3

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.