Я только начал использовать Mac для разработки iOS после двух десятилетий использования Windows, и я удивлен и сбит с толку, обнаружив, что для программ Mac не существует процесса установки ... вы просто загружаете их, открываете DMG, скопируйте файл и вуаля.
Это смущает меня до бесконечности.
Может кто-нибудь объяснить на техническом уровне, в чем разница? Как может быть возможно, что нет необходимости выполнять процесс установки?
И если такое возможно, то почему не все операционки так работают?
Мы, пользователи Mac, задаем тот же вопрос по-другому: зачем вам (не)инсталлятор для всего в Windows?
Большинство программ для Mac представляют собой полные пакеты — все их ресурсы находятся в папке приложения (щелкните правой кнопкой мыши значок приложения -> Показать содержимое пакета). Так что они будут запускаться откуда угодно, есть системная переменная, которая сообщает коду, где он находится. Часто приложение можно запустить прямо из загруженного DMG и даже с удаленного сервера. Немного производительности хит, но это будет работать. Пользовательские настройки находятся в пользовательской библиотеке, также есть системные подпрограммы для обработки механики.
У Mac нет центрального реестра, который требует настройки (или обслуживания), поэтому туда тоже ничего не нужно.
Если вы разрабатываете приложения для Mac, вам следует очень постараться, чтобы не нуждаться в установщике - только если вы устанавливаете общие библиотеки или службы на уровне оболочки. В общем, можно обойтись без.
Поскольку вы направляетесь к программированию для iOS, я бы посоветовал просто не беспокоиться об этом. Правила iOS скажут вам, где что сохранять, и это НЕ подлежит обсуждению. Здесь идут настройки, там пользовательские данные. Вы будете использовать предоставленные API. Исполнять. Подчиниться.
На самом деле в OS X есть много вещей, которые нужно «установить».
Обычно «установленные» приложения представляют собой пакеты, содержащие определенные инструкции. Проще говоря, пакет запускает скрипт и сообщает системе создавать/перемещать файлы в разные части ОС. Это необходимо для таких программ, как пакет Adobe CS или Microsoft Office.
Другой тип приложений — это своего рода «автономные приложения», в которых вам нужен только один исполняемый файл. Этот файл при открытии создает свои зависимости, файлы настроек и тому подобное.
Во многих случаях установщик Windows не делает ничего, кроме извлечения сжатых файлов и их записи в место назначения.
Затем он создает несколько ярлыков и может зарегистрироваться для открытия файлов с определенными расширениями.
Нет ничего волшебного в установке программного обеспечения в Windows, и для большей части программного обеспечения Windows вы можете взять каталог установленного программного обеспечения, скопировать его непосредственно на другой компьютер и запустить его там, не выполняя (пере)установку.
Таким образом, это в основном разница между пользовательскими интерфейсами (кто отвечает за копирование файлов), а не разница между тем, что происходит на самом деле.
Поддельное имя
*.app
папки на локальный диск может вызвать действия с файлами. Кроме того,nnn.app
это папка , а не файл. Как работают приложения Mac, довольно сложно.Крис Харпер