Когда программы — это на самом деле папки

Вы могли заметить, что у программ OS X как бы и нет 50 000 файлов, разбросанных по жесткому диску. Для того чтобы открыть AOL, больше не надо сначала открывать папку America Online; достаточно сделать двойной щелчок по пиктограмме AOL. Такое устройство намного лучше, чем в Mac OS 9, где многие программы обязаны находиться в специальных папках, окруженные библиотеками, словарями, компонентами для иностранных языков и другими вспомогательными файлами и папками.
Возникает вопрос: куда девались все эти вспомогательные файлы?
В Mac OS X существует нечто, называемое пакетами (package, bundle), которые являются папками, ведущими себя как единый файл. Любая должным образом написанная программа Mac OS X выглядит как одна пиктограмма, двойной щелчок по которой эту программу запускает. Но для Мака это на самом деле папка, содержащая как настоящую пиктограмму приложения, так и все скрытые вспомогательные файлы. (Фактически даже документы могут быть пакетами, включая файлы проектов iDVD, файлы iMovie 6 и некоторые документы TextEdit.)
Если хотите убедиться в этом сами, попробуйте провести эксперимент. Выберите Go (Переход).
Applications (Программы). Видите программу Calculator? Щелкните по ней при нажатой клавише Control и выберите пункт Show Package Contents (Показать содержимое пакета) контекстного меню.
Вы, таким образом, просите Mac OS X показать, что находится внутри «пиктограммы приложения» Calculator.
Откроется окно пакета Calculator, показывая папку Contents, которой вы раньше никогда не видели. Открыв ее, вы найдете небольшое количество папок и файлов странного вида с типичными для UNIX именами, которые и представляют собой собственно приложение Calculator, скрытое «за кулисами».
Трюк с использованием приложения как папки, разумеется, удобен для пользователя, потому что программу можно свободно переместить в другое окно или, перетащив одну — единственную пиктограмму в Корзину, удалить все приложение, не опасаясь, что сопровождавшие его файлы поддержки так и останутся на жестком диске. Он также удобен для программистов, поскольку они могут частично обновить приложение, просто заменив один из файлов — компонентов, а не переписывая всю программу целиком.
Это преимущество для программистов могут ощутить и обычные пользователи. В случае Calculator и многих других программ Mac OS X папка Resources содержит отдельные графические файлы в формате PDF или TIFF, которые для пользователя, работающего с программой, отображаются как графические элементы. Так, файл lcd.tiff в папке ресурсов программы Calculator содержит изображение экрана Калькулятора (там при нажатии соответствующих клавиш Калькулятора появляются цифры).
С помощью графической программы можно изменить ярко-желтый фон экрана Калькулятора на, скажем, бледно-голубой. Сделав в следующий раз двойной щелчок по пиктограмме Calculator, которая, как вы теперь поняли, на самом деле представляет собой папку, вы увидите обновленный дизайн Калькулятора.