Mac OS X.UNIX для ВСЕХ | All about OS

Пакеты (Bundles)

Категория: MacOS

Mac OS X вводит новый способ организации программ и программных модулей — пакет (bundle). При дальнейшем описании различных частей системы мы будем использовать это понятие. Объясним его суть и характерные особенности.
Пакет — это папка файловой системы, которая хранит и исполняемый код, и программные ресурсы, связанные с этим кодом. Ресурсами могут быть изображения, звуки, строки текста локализации и другие. Пакет может содержать не один набор ресурсов. Это позволяет создавать более удобные, гибкие и эффективные программы; например, в одном пакете хранятся версии программы для нескольких языков или нескольких платформ. В соответствии с этой моделью интерфейс программы может автоматически переключаться в зависимости от настроек языковой среды системы. Поскольку все части такого пакета находятся в одном месте, их легче перемещать или удалять. В большинстве случаев Finder скрывает внутреннюю структуру пакета. С точки зрения пользователя, пакет — это просто файл, поэтому перемещается или удаляется с помощью обычной процедуры drag-and-drop. При необходимости, конечно, можно «попросить», чтобы Finder показал внутреннюю структуру пакета. В тех случаях, когда Finder воспринимает пакет как единое целое, будем говорить, что пакет представлен в виде файловой упаковки.
Система позволяет создавать пакеты различных типов. Каждый пакет обязан иметь расширение имени в соответствии со своим типом. Mac OS X автоматически распознает три основных типа пакетов: программы (applications), динамиче-скиразделяемыебиблиотеки(frameworks)изагружаемыересурсы(bundles).Па-кеты загружаемых ресурсов, так же как программы и разделяемые библиотеки, содержат как исполняемый код, так и необходимые ресурсы. Отличие состоит в том, что пакеты-ресурсы должны быть загружены в уже работающую программу явно. Существует несколько специальных пакетов этого типа, два из которых хорошо известны: Palette и Plug-In. Кроме того, так называемые расширения ядра также являются пакетами загружаемых ресурсов, хотя внутренняя структура их несколько отличается от структуры остальных пакетов. Каждый из этих пакетов имеет собственное расширение имени файла: .арр — для пакетов-программ, framework — для динамически загружаемых разделяемых библиотек, .bundle — для пакетов загружаемых ресурсов. Расширения ядра имеют расширение имени .kext. Finder скрывает.арр-расширение пакетов-программ.

« Расширения имен файлов в Mac OSX
Расширения ядра (Kernel Extensions) »