Mac OS X - первое знакомство. Продолжение - часть III
АрхивМаковое поле (архив)Пятая часть из серии статей, посвященных новой операционной системе фирмы Apple - Mac OS X. Поддержка прикладных программ.
Поддержка прикладных программ. Classic, Carbon, Cocoa
Новая операционная система… Это не только переход на новые принципы, структуру, организацию самой системы. Это еще и радикальные изменения в разработке и функционировании прикладных программ. С одной стороны — это новые возможности, которые несет в себе новая система, а с другой — огромное число уже работающих программ, написанных под предыдущие версии Mac OS, которые будут полезны еще достаточно долго, пока «паровоз не наберет полную скорость». Две системы — старая и новая — это если хотите две среды обитания, два существенно разных мира. Поэтому в структуре Mac OS X предусмотрен специальный логический уровень — слой поддержки прикладных программ разного типа.
Mac OS X поддерживает работу трех типов прикладных программ и создает соответствующую «среду обитания», окружение для программ данного типа:
- старых программ, написанных для Mac OS 8 и Mac OS 9. Соответствующее окружение называется Classic.
- старых программ, но подправленных для работы в Mac OS X. Соответствующее окружение называется Carbon.
- программ, написанных специально для Mac OS X. Соответствующее окружение называется Cocoa.
Mac OS X обеспечивает копирование (copy) и вставку (paste) почти всех типов данных между программами, работающими в различных окружениях.
Строго говоря, Mac OS X создает еще два типа окружений, на которых не акцентируется внимание:
- окружение для работы с языком Java
- окружение для работы в командном режиме BSD
Работа в командном режиме BSD рассматривается только как дополнительное средство, которым большинство пользователей не должно пользоваться вообще. Подразумевается, что такой режим может быть полезен только в очень редких случаях для опытных пользователей или администраторов при решении весьма специфических задач. Более того, во время установки системы можно отказаться от установки модулей работы в командном режиме BSD.
Что касается Java, то следует заметить, что системные средства для поддержки Java программ существовали и в более ранних версиях Mac OS, но в Mac OS X они наконец-то обрели должный статус. Учитывая критику за отставание, неполное соответствие стандартам и недостаточную скорость работы, фирма Apple заметно скорректировала эту часть системы. Теперь она содержит весь необходимый и эффективный набор средств для работы Java программ и апплетов. Какие же наиболее серьезные изменения были внесены в реализацию поддержки Java на Macintosh'ах?
- Во-первых, существенно усилена общая интеграция с системой. В Mac OS X разработчики Java программ имеют доступ практически ко всем API (Application Program Interfaces) среды Cocoa. Это означает, что теперь реально не существует разницы между программами, написанными на родном для Mac OS X языке Object-C и программами, написанными на Java. Подтверждением этому служит тот факт, что многие программы, поставляемые в комплекте с Mac OS X, написаны на Java. Это существенно расширяет круг потенциальных разработчиков программ для Mac OS X. Программисты, которые раньше создавали Java программы для Unix'а или PC теперь могут найти применение своим знаниям и опыту на платформе Macintosh не только в качестве разработчиков специфических Java программ или апплет, но и как авторы «обычных» программ для Macintosh'а.
- В Mac OS X фирма Apple полностью реализовала спецификации стандарта Java 2 на основе последней версии Java Development Kit (JDK) включая Java Virtual Machine (JVM). Таким образом ликвидировано отставание реализации Java на Macintosh'ах от остального Java сообщества. Macintosh становится полноценной Java платформой. Общие Unix корни Mac OS X и Sun Solaris позволяют надеяться на хорошую совместимость и переносимость Java программ.
Рассмотрим чуть подробнее окружение Classic, потому что после перехода на новую систему именно окружение Classic некоторое время будет являться основной средой для практической работы, так как в только в этой среде могут работать обычные, привычные, «классические» программы.
По сути Classic окружение — это полностью развернутая версия Mac OS 9.1 с некоторыми дополнениями для правильного взаимодействия с остальными частями Mac OS X. При первом обращении к окружению Classic, например при запуске «классической» программы в среде Mac OS X, система, после получения согласия от пользователя, устанавливает в Mac OS 9.1 необходимые дополнительные файлы. В дальнейшем, при попытке открыть документ, созданный «классической» программой или запустить саму «классическую» программу, Mac OS X будет запускать Mac OS 9.1, настроенную для работы в среде Mac OS X. При этом появляется сообщение о том, что запускается окружение Classic и указывается том, с которого это окружение стартует: «Classic Environment starting from <имя тома>».
В настройках системы можно указать, чтобы окружение Classic загружалось автоматически при каждом старте системы. В этом случае при запуске «классической» программы или открытии документа, созданного «классической» программой не будет появляться никакого специального сообщения, а будет просто открываться соответствующая программа, как это происходит в Mac OS 9.1. В этом режиме вам доступны практически все средства Mac OS 9.1 — работа с компьютерной сетью, печать, работа со съемными носителями и так далее. Однако надо помнить, что при этом вы не получаете никаких преимуществ, заложенных в Mac OS X: никакой серьезной защиты памяти задач, никакой полноценной многопроцессорности и так далее. Работа в окружении Classic рассматривается фирмой Apple как переходная фаза (которая, впрочем, может продолжаться достаточно долго), пока большинство фирм-разработчиков прикладных программ не «подправят» свои программы для работы в новой операционной системе.
В Mac OS 9.1, как и в более ранних версиях Mac OS, большинство дополнительных модулей системного уровня размещаются в специальной папке — Расширения (Extensions). Там находятся драйверы большинства устройств, как стандартных, установленных самой системой, так и драйверы устройств, которые вы купили дополнительно и установили сами с помощью программного обеспечения, поставляемого с этими устройствами. Иногда туда же помещаются модули, необходимые для корректной работы некоторых прикладных программ, чаще всего дополнительные программные библиотеки. Некоторые Расширения, которые были установлены не самой Mac OS, а другими программами, могут не работать правильно в окружении Classic. Поэтому при запуске Classic окружения проверяется его корректность, соответствие всех его частей четким правилам. Если система находит какие-либо отклонения, она сообщает об этом и блокирует дальнейшую работу этого окружения.
Рекомендуется в качестве Classic окружения использовать «чистую» версию Mac OS 9.1 и очень осторожно вносить в нее какие-либо изменения или дополнения. После каждого такого изменения нелишне проверить его работоспособность.