Создание программных продуктов для платформы Mac

Приложения являются наиболее распространенным типом программного обеспечения Mac, но существует много других типов программного обеспечения, которое можно создать, также. Следующие разделы представляют диапазон программных продуктов, которые можно создать для платформы Mac и предложить, когда Вы могли бы рассмотреть выполнение так.

Приложения

Приложения являются безусловно преобладающим типом программного обеспечения, создаваемого для Mac, или для любой платформы. Вы используете Какао для создания новых приложений Mac. Для узнавания больше о функциях и платформах, доступных в Какао, посмотрите Прикладной уровень Какао.

В целом существует три основных стиля приложений Mac:

Расширения приложения

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

  • Сегодня. Информация о дисплее из Вашего приложения, или выполняют быструю задачу в представлении Today Центра Уведомления.

  • Доля. Поделитесь информацией с другими путем размещения информации к веб-сайту или социальному обеспечению, или отсылки данных некоторым другим способом.

  • Действие. Создайте контекст, разрешающий пользователю управлять или просмотреть элементы из Вашего приложения в другом приложении.

  • Средство поиска. Покажите синхронизирующую информацию состояния в Средстве поиска.

App Store

Независимо от стиля приложения Вы выбираете, Ваша цель состоит в том, чтобы, вероятно, получить Ваше приложение в App Store Mac. Процесс разработки, помогающий Вам достигнуть этой цели, включает соединение кодирования и задач администрирования. Некоторые из этих задач:

  • Становление разработчиком Mac

  • Решение, нужно ли Вам к элементу кода Ваше приложение (приложения, использующие iCloud или поигравшиеся в песочнице, должны быть подписанным кодом),

  • Конфигурирование проекта XCode

  • Использование в своих интересах последних технологий Mac

  • Представление приложения к Apple для утверждения

Этот документ дает Вам обзор технологий Mac, которые можно включить в приложение. Для узнавания больше о других задачах, вовлеченных в процесс разработки, считайте Разработку для App Store.

Языки разработки

Инструменты для OS X поддерживают много различных языков разработки. В дополнение к Objective C, Swift, C++, C, и другим таким языкам, XCode предоставляет поддержку для многих языков сценариев. Для получения дополнительной информации см. Сценарии ниже.

Наиболее распространенные языки, используемые для разработки для OS X, являются Objective C и Swift. Следующие разделы вызывают главные особенности в некоторых из этих сред.

Objective C

Objective C является языком программирования на базе С с объектно-ориентированными расширениями. Это - основной язык разработки для приложений Какао. В отличие от C++ и некоторых других объектно-ориентированных языков, Objective C идет со своей собственной динамической средой выполнения. Эта среда выполнения делает намного проще расширить поведение кода во время выполнения, не имея доступа к первоисточнику.

Objective C 2.0 поддерживает следующие функции среди многих других:

  • Блоки (которые описаны в Блочных Объектах),

  • Заявленные свойства, предлагающие простой способ объявить и реализовать методы доступа объекта

  • A for синтаксис оператора для выполнения быстрых перечислений наборов

  • Формальные и неофициальные протоколы, позволяющие Вам объявлять методы, которые независимы от любого определенного класса, но которые мог бы реализовать любой класс

  • Категории и расширения, оба из которых позволяют Вам добавлять методы к существующему классу

Для приобретения знаний о языке Objective C посмотрите Язык программирования Objective C.

Swift

Swift является новым языком программирования для Касания Какао и Какао с кратким и выразительным синтаксисом. Swift включает исследование в области языка программирования, объединенного с десятилетиями здания опыта платформы Apple. Код, записанный в Swift, сосуществует с существующими классами, записанными в Objective C, допуская простое принятие.

Некоторые главные особенности Swift:

  • Закрытия объединены с указателями функции

  • Функции первого класса

  • Кортежи и многократные возвращаемые значения

  • Обобщения

  • Быстрая и краткая итерация по диапазону или набору

  • Структуры и Перечисления, поддерживающие методы, расширения и протоколы

  • Образцы функционального программирования

  • Безопасность с точки зрения типов и вывод типа с ограниченным доступом к прямым указателям

Swift также поддерживает использование Детских площадок, интерактивной среды для оперативной оценки кода. Используйте детские площадки для разработки нового алгоритма, создания и проверки новых тестов или приобретения знаний о языке и APIs.

Для узнавания больше о Swift посмотрите Swift Язык программирования, или для быстрого обзора, посмотрите, Добро пожаловать в Swift.

Другие типы программного обеспечения

Существует много других типов программного обеспечения, которое можно разработать для Mac. Большинство этих программных продуктов не имеет никакого пользовательского интерфейса (UI) и вместо этого предоставляет услуги, расширяющие возможности другого программного обеспечения, такие как сторонние приложения или сама система.

Платформы

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

Apple использует платформы для распределения открытых интерфейсов OS X (и iOS), которые упаковываются в комплектах разработчика программного обеспечения. Комплект разработчика программного обеспечения (SDK) собирает платформы, заголовочные файлы, инструменты и другие ресурсы, необходимые для разработки программного обеспечения, предназначенного для определенной версии платформы. Также, можно использовать платформы для распределения общедоступного кода и интерфейсов, которые Вы создаете, или разработать частные совместно используемые библиотеки для встраивания в приложения.

Вы можете использовать любой язык программирования для создания собственных платформ, но лучше выбирать язык, упрощающий обновлять платформу позже. Платформы Apple обычно экспортируют программируемые интерфейсы в ANSI C, Objective C или Swift. Оба из этих языков имеют четко определенную структуру экспорта, упрощающую поддерживать совместимость между различными версиями платформы.

Для приобретения знаний о структуре и составе платформ см. Руководство по программированию Платформы. Тот документ также описывает, как использовать XCode для создания общедоступных и частных платформ.

Плагины

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

Приложение и системные упомянутые ниже плагины представляют некоторые из многих возможностей для разработки плагинов.

Плагины действия Адресной книги. Плагин Адресной книги позволяет Вам добавить пользовательские действия, действующие на данные в карте Адресной книги лица. Например, существующее Большое действие Типа выводит на экран выбранный телефонный номер в большом типе. Каждый плагин действия выполняет единственное действие, которое может открыть простое окно в приложении Адресной книги. Если действие должно сделать что-либо еще, оно должно запустить Ваше приложение для выполнения действия. Чтобы изучить, как создать плагин действия Адресной книги, посмотрите Создание и Используя Плагины Действия Адресной книги.

Подключаемые модули приложение. Подключаемый модуль приложений может расширить функции любого приложения, поддерживающего сменную модель. В дополнение к сторонним приложениям несколько приложений Apple также поддерживают плагины, такие как iTunes, Final Cut Pro и Апертура. Для получения информации о разработке плагинов для приложений Apple посетите веб-сайт Разработчика Apple.

Плагины Automator. Используя плагин Automator, можно развернуть набор по умолчанию действий, доступных в Automator, служебное приложение, позволяющее пользователям собрать сложные сценарии с помощью палитры предопределенных действий. Плагины Automator могут быть записаны в AppleScript или Objective C, таким образом, можно записать им для функций собственного приложения или для функций других scriptable приложений. (Это - хорошая идея обеспечить плагины Automator для наиболее распространенных задач Вашего приложения, потому что выполнение так дает пользователям больше способов взаимодействовать с Вашим приложением.), Чтобы изучить, как записать плагин Automator, см. Руководство по программированию Automator.

Плагины Core Audio. Плагин Core Audio может поддерживать манипулирование аудиопотоками во время большинства стадий обработки. Например, можно использовать плагины, чтобы генерировать, обработать, или получить аудиопоток или взаимодействовать с новыми типами связанных с аудио устройств. Чтобы начать узнавать о Core Audio, считайте Обзор Core Audio.

Модули изображения. Модуль изображения является типом плагина, который можно использовать с Базовым Изображением и Базовыми Видео технологиями. Модуль изображения состоит из набора фильтров — каждый из которых реализует определенное манипулирование для данных изображения — упакованный вместе в единственном пакете. Например, Вы могли записать ряд фильтров, выполняющих различные виды граничного обнаружения и упаковывающих их как один модуль изображения. Чтобы изучить, как создать модуль изображения, посмотрите Создающие Пользовательские Фильтры.

Методы ввода. Типичный пример метода ввода является интерфейсом для ввода японских или китайских символов с помощью многократных нажатий клавиш. Другие примеры методов ввода включают программы проверки правописания и основанные на пере системы распознавания жеста. Можно создать методы ввода с помощью Набора Метода ввода (InputMethodKit.framework). Для получения информации о том, как использовать эту платформу, посмотрите Ссылку Платформы InputMethodKit.

Средства импорта метаданных. Центр внимания полагается на средства импорта метаданных, чтобы собрать информацию о файлах пользователя и создать индекс в масштабе всей системы. Центр внимания использует этот индекс, чтобы помочь пользователям найти информацию путем поиска на атрибутах, которые целесообразны им, такие как продолжительность видео или размерности изображения. Если Ваше приложение определяет пользовательский формат файла, необходимо всегда обеспечивать средство импорта метаданных для того формата файла. (Если Ваше приложение полагается на обычно используемые форматы файлов, такие как JPEG, RTF или PDF, система предоставляет средство импорта метаданных Вам.), Чтобы изучить, как создать средства импорта метаданных, см. Руководство по программированию Средства импорта Центра внимания.

Кварцевые плагины Композитора. Кварцевый Композитор поддерживает сменный механизм, позволяющий Вам создавать пользовательский патч и делать его доступным в Кварцевой рабочей области Композитора и большинству Кварцевых клиентов Композитора. (Патч является блоком обработки, выполняющим определенную задачу, такую как обработка строки или рендеринг текстуры OpenGL.), Чтобы изучить, как создать Кварцевый плагин Композитора, посмотрите Кварцевого Композитора Пользовательское Руководство по программированию Патча.

Плагины Беглого взгляда. Плагин Беглого взгляда — также известный как генератор Беглого взгляда — преобразовывает документ из своего собственного формата в формат, который Беглый взгляд может вывести на экран пользователям. Если Ваше приложение создает документы нестандартного или частного типа, это - хорошая идея обеспечить генератор Беглого взгляда так, чтобы пользователи могли получить предварительные просмотры этих документов в Беглом взгляде. Чтобы изучить, как создать плагин Беглого взгляда, см. Руководство по программированию Беглого взгляда.

Плагины Safari. Safari поддерживает модель плагина Стиля netscape для слияния дополнительных типов содержания в веб-браузере. В Safari в OS X v10.7 и позже, эти плагины, выполненные в их собственном процессе, улучшающем устойчивость и безопасность Safari. Плагины стиля netscape включают поддержку экранного получения, обработки событий, и сетей и сценариев функций.

Для получения информации о создании плагинов Safari с Netscape API посмотрите, что Плагин WebKit Программирует Темы и Ссылку Платформы WebKit.

Расширения Safari

Используйте расширения Safari для добавления опций и к веб-браузеру Safari и к содержанию тот Safari дисплеи. Например, можно добавить пользовательские кнопки к панели инструментов браузера, переформатировать веб-страницы, заблокировать нежелательные сайты и создать элементы контекстного меню. Расширения позволяют Вам ввести сценарии и таблицы стилей в страницы веб-контента.

Расширение Safari является набором HTML, JavaScript и файлов CSS с поддержкой и HTML5 и CSS3. Расширения Safari поддерживаются и в OS X и в системах Windows рабочий Safari 5.0 и позже.

Для узнавания больше о расширениях Safari считайте Руководство по Разработке Расширений Safari в Библиотеке Разработчика Safari.

Виджеты инструментальной панели

Виджет Инструментальной панели является легким веб-приложением, помогающим пользователям выполнить общую задачу, такую как проверка курса акций или получение прогноза погоды. Виджеты находятся в среде Инструментальной панели, которая может появиться по текущему рабочему столу пользователя или как отдельное пространство. OS X включает несколько встроенных виджетов, и пользователи могут загрузить сторонние виджеты с Apple - Загрузки - Инструментальная панель.

В действительности виджеты являются Основанными на HTML приложениями с дополнительным кодом JavaScript для обеспечения динамического поведения. Инструментальная панель использует WebKit для обеспечения среды для отображения HTML и выполнения кода JavaScript. Ваши виджеты могут использовать в своих интересах несколько расширений, предоставленных той средой, включая способ представить довольный использующие подобные Кварцу функции JavaScript.

Приложение Dashcode обеспечивает оптимизированную среду для разработки виджетов и включает несколько шаблонов, помогающих Вам начать. Чтобы изучить, как использовать Dashcode, см. Руководство пользователя Dashcode. Для узнавания больше о технологиях, можно использовать в виджете, видеть, что Инструментальная панель Программирует Темы.

Приложения агента

Агент является специальным типом приложения, обычно работающего в фоновом режиме, предоставляя информацию по мере необходимости пользователю или другому приложению. Например, Прикрепление является приложением агента, запущенным OS X.

Агент может быть запущен пользователем, но, более вероятно, будет запущен системой или другим приложением. В результате агенты не обнаруживаются в Прикреплении или окне, выведенном на экран командой меню Force Quit. Несмотря на то, что агенты могли бы иногда прибывать в передний план и отображать пользовательский интерфейс, у них нет строки меню для выбора команд. Все взаимодействие с пользователем с приложением агента кратко и фокусируется на определенной цели, таков как установка предпочтений или запрос информации.

Для создавания приложения агента Вы создаете связанное приложение и включаете LSUIElement введите его информационный список свойств (Info.plist) файл. Для получения дополнительной информации об использовании этого ключа посмотрите информационную Ключевую Ссылку Списка свойств.

Экранные заставки

Экранные заставки являются маленькими программами, принимающими экран после определенного периода безделья. Экранные заставки обеспечивают развлечение и также препятствуют тому, чтобы отображаемое изображение было врезано поверхность дисплея. OS X поддерживает оба слайд-шоу и программно сгенерированное содержание экранной заставки.

Слайд-шоу является простым типом экранной заставки, не требующей, чтобы любой код реализовал. Для создания слайд-шоу Вы создаете пакет с расширением .slideSaver. В этом пакете Вы помещаете каталог Resources, содержащий изображения, которые Вы хотите вывести на экран в Вашем слайд-шоу. Ваш пакет должен также включать информационный список свойств, указывающий основную информацию о пакете, таком как его имя, строка идентификатора и версия.

OS X включает несколько экранных заставок слайд-шоу, которые можно использовать в качестве шаблонов для создания собственного. Эти экранные заставки расположены в /System/Library/Screen Savers. Необходимо поместить собственные слайд-шоу в также /Library/Screen Savers или в ~/Library/Screen Savers каталог пользователя.

Программируемая экранная заставка является экранной заставкой, постоянно генерирующей содержание для появления на экране. Можно использовать этот тип экранной заставки, чтобы создать анимации или создать экранную заставку с конфигурируемыми пользователем опциями. Пакет для программируемой экранной заставки заканчивается .saver расширение.

Вы создаете программируемые экранные заставки с помощью Какао с языком Objective C или с Swift. В частности Вы создаете пользовательский подкласс ScreenSaverView это обеспечивает интерфейс для отображения содержания экранной заставки и опций. Информационный список свойств Вашего пакета предоставляет системе имя Вашего пользовательского подкласса. Для получения информации о создании программируемых экранных заставок посмотрите Ссылку Платформы Экранной заставки.

Службы

Службы не являются отдельными программами, которые Вы пишете; вместо этого, они - функции, экспортируемые Вашим приложением в пользу других приложений. Службы позволяют Вам совместно использовать ресурсы и возможности Вашего приложения с другими приложениями в системе. Пользовательские службы доступа через меню Services, которое доступно в меню приложения каждого приложения. (Службы заменяют функциональность плагина контекстного меню, которая была доступна в более ранних версиях OS X.)

Служба обычно действует на в настоящее время выбираемые данные. Когда пользователь инициирует службу, приложение, содержащее выбранные данные, помещает их в область монтажа. Приложение, служба которого была выбрана тогда, берет данные, обрабатывает ее и помещает результаты (если таковые имеются) назад на области монтажа для исходного приложения для получения. Например, пользователь мог бы выбрать папку в Средстве поиска и выбрать службу, сжимающую содержание папки и заменяющую их сжатой версией. Службы могут представлять односторонние действия также. Например, служба могла взять в настоящее время выделенный текст в окне и использовать его для создания содержания нового электронного письма. Для получения информации о том, как обеспечить и использовать службы в Вашем приложении, видит Руководство по внедрению Служб.

Предпочтительные области

Предпочтительные области используются прежде всего для изменения установок системы для текущего пользователя. Предпочтительные области реализованы как плагины и установлены в /Library/PreferencePanes. Разработчики приложений могут также использовать в своих интересах эти плагины для управления предпочтениями приложения в расчете на пользователя; однако, большинство приложений обеспечивает свой собственный UI для управления предпочтениями.

Если Вы создаете, Вы, возможно, должны были бы создать предпочтительные области:

  • Устройства, которые являются конфигурируемым пользователем

  • Утилиты в масштабе всей системы, такие как программы антивирусной защиты, требующие пользовательской конфигурации

Если Вы - разработчик приложений, Вы могли бы хотеть снова использовать предпочтительные области, предназначенные для приложения Установок системы или использовать ту же модель для реализации предпочтений приложения. Чтобы изучить, как создать и управлять предпочтительными областями, считайте Предпочтительное Руководство по программированию Области.

Динамические веб-сайты и веб-сервисы

OS X поддерживает множество методов и технологий для создания веб-контента. В дополнение к Identity Services и Виджетам Инструментальной панели, динамические веб-сайты и веб-сервисы предлагают веб-разработчикам способы поставить их содержание быстро и легко.

OS X предоставляет поддержку для создания и тестирования динамического контента в веб-страницах. При разработке основанных на CGI веб-приложений можно создать веб-сайты с помощью множества сценариев технологий, включая Perl и гипертекстовый Препроцессор PHP (полный список сценариев технологий предоставлен в Сценариях). Можно также создать и развернуть более сложные веб-приложения с помощью JBoss, Tomcat и WebObjects. Для развертывания веб-страниц используйте встроенный Apache веб-сервер HTTP.

Safari предоставляет совместимую стандартами поддержку для просмотра страниц, включающих многочисленные технологии, включая HTML, XML, XHTML, DOM, CSS, Java и JavaScript. Можно также использовать Safari для тестирования страниц, содержащих мультимедийный контент, создаваемый для QuickTime, Flash и Ударной взрывной волны.

Простой протокол доступа к объектам (SOAP) является объектно-ориентированным протоколом, определяющим путь к программам для передачи по сети. XML-RPC является протоколом для выполнения вызовов удаленной процедуры между программами. В OS X можно создать клиенты, использующие эти протоколы для сбора информации от веб-сервисов через Интернет. Для создания этих клиентов Вы используете технологии, такие как PHP, JavaScript, AppleScript и Какао.

Представительная Передача состояния (REST) является альтернативным методом для передачи данных с помощью URLs. OS X предоставляет полную поддержку для того, чтобы создать приложения REST через NSURL, NSURLSession и связанные классы. Для получения дополнительной информации см. Руководство по программированию Загрузочной системы URL.

Если Вы хотите обеспечить свои собственные веб-сервисы в OS X, используйте WebObjects или реализуйте службу с помощью языка сценариев по Вашему выбору. Вы тогда отправляете свой код сценария на веб-сервер, даете клиентам URL и публикуете формат сообщения Ваши поддержки сценария.

Для получения информации о том, как создать клиентское использование программ AppleScript, см. Руководство по программированию SOAP и XML-RPC. Для получения информации о том, как создать веб-сервисы, см. Руководство по программированию Веб-сервисов WebObjects.

Почтовая канцелярская бумага

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

Разработчики и веб-разработчики могут создать пользовательские шаблонные пакеты для внешних или внутренних пользователей. Каждый шаблон состоит из страницы HTML, файла списка свойств и ряда изображений, которые упаковываются вместе в пакете и затем сохранены в папке канцелярской бумаги Почтового приложения. Страница HTML и изображения определяют содержание электронного письма и могут включать зоны отбрасывания для пользовательского пользовательского содержания. Файл списка свойств дает Почтовую информацию о шаблоне, таком как его имя, ID и имя его изображения миниатюр. Чтобы изучить, как создать новые шаблоны канцелярской бумаги, посмотрите, что Почта Программирует Темы.

Инструменты командной строки

Инструменты командной строки являются простыми программами, управляющими данными через основанный на тексте интерфейс. Эти инструменты не используют окна, меню или другие элементы пользовательского интерфейса, традиционно связанные с приложениями. Вместо этого они работают от среды командной строки Терминального приложения. Поскольку инструменты командной строки требуют, чтобы менее явно заданные знания системы разработали, они часто более просты записать, чем много других типов программного обеспечения. Однако инструменты командной строки подходят лучше всего для технически опытных пользователей, которые знакомы с соглашениями и синтаксисом интерфейса командной строки.

XCode поддерживает создание инструментов командной строки от нескольких начальных кодовых баз. Например, можно создать простой и переносимый инструмент с помощью стандарта C или вызовов библиотеки C++, или можно создать инструмент, более определенный для OS X с помощью платформ, таких как Базовая Основа, Core Services или Основа Какао.

Элементы запуска и демоны

Элементы запуска являются специальными программами, запускающими другие программы или выполняющими разовые операции в течение периодов запуска и входа в систему. Демоны являются программами, работающими постоянно и действие как серверы для обработки клиентских запросов. Вы обычно используете элементы запуска, чтобы запустить демонов или выполнить задачи периодического техобслуживания, такие как проверка жесткого диска для поврежденной информации.

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

Немного разработчиков должны когда-либо должны быть создать элементы запуска или демонов. Эти программы резервируются для особых ситуаций, в которых необходимо гарантировать доступность определенной службы. Например, OS X обеспечивает элемент запуска для выполнения демона DNS. Точно так же программа обнаружения вирусов могла бы установить элемент запуска для запуска демона, контролирующего систему для подобного вирусу действия. В обоих случаях элемент запуска выполнил бы своего демона в корневом сеансе, предоставляющем услуги всем пользователям системы. Для узнавания больше об элементах запуска и демонах см. Руководство по программированию Демонов и Служб.

Сценарии

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

Таблица 1-1 перечисляет многие языки сценариев, доступные в OS X.

Табличные 1-1  Языки сценариев, доступные в OS X

Язык

Описание

AppleScript

Англо-основанный язык для управления scriptable приложениями в OS X. Используйте его для связывания приложений, вовлеченных в пользовательский поток операций или повторное задание. Для получения дополнительной информации см. Обзор AppleScript.

bash

Совместимый с границей язык сценария оболочки раньше создавал программы в основанных на UNIX системах.

csh

Язык сценария оболочки C раньше создавал программы в основанных на UNIX системах.

Perl

Язык сценариев общего назначения поддерживается на многих платформах. Perl обеспечивает обширный набор функций, которым удовлетворяют для текстового парсинга и сопоставления с образцом, и также имеет некоторые объектно-ориентированные функции. Для получения дополнительной информации посмотрите веб-сайт Языка программирования Perl.

PHP

Межплатформенный, язык сценариев общего назначения, особенно подходящий для веб-разработки. Для получения дополнительной информации см. PHP: гипертекстовый Препроцессор.

Python

Объектно-ориентированный язык сценариев общего назначения реализован для многих платформ. Для получения дополнительной информации посмотрите Язык программирования Python. Для приобретения знаний об использовании Python с мостом сценариев Какао посмотрите Ruby и Темы Программирования Python для Mac.

Ruby

Объектно-ориентированный язык сценариев общего назначения реализован для многих платформ. Для получения дополнительной информации посмотрите Язык программирования Ruby. Для приобретения знаний об использовании Ruby с мостом сценариев Какао посмотрите Ruby и Темы Программирования Python для Mac.

sh

Язык сценария Оболочки Bourne раньше создавал программы в основанных на UNIX системах.

Tcl

Язык общего назначения реализован для многих платформ. Tcl (Инструментальный командный язык) часто используется для создания графических интерфейсов для сценариев. Для получения дополнительной информации обратитесь на Сайт Разработчика Tcl.

tcsh

Вариант языка сценария оболочки C раньше создавал программы в основанных на UNIX системах.

zsh

Язык сценария оболочки Z раньше создавал программы в основанных на UNIX системах.

Сценарии дополнений для AppleScript

Дополнение сценариев поставляет дополнительную функциональность для сценариев AppleScript путем добавления, в масштабе всей системы поддерживают для новых команд или типов данных. Разработчики, которым нужны функции, не доступные в текущем наборе команд, могут использовать дополнения сценариев, чтобы реализовать те опции и сделать их доступными для всех приложений. Например, одно из встроенных дополнений сценариев расширяет основные обрабатывающие файл команды для поддержки чтения и записи содержания файла из сценария AppleScript. Для получения информации о том, как создать дополнение сценариев, посмотрите Техническое примечание TN1164, “Пишущий сценарий Дополнений для OS X”.

Расширения ядра

Расширения ядра являются модулями кода, загружающимися непосредственно в пространство процесса ядра и поэтому обходящими меры защиты, предлагаемые средой ядра OS X. У большинства разработчиков есть мало потребности создать расширения ядра. Ситуации, в которых Вам, возможно, понадобилось бы расширение ядра, являются следующим:

  • Ваш код должен обработать основное аппаратное прерывание.

  • Клиент Вашего кода в ядре.

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

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

Несмотря на то, что драйвер устройства является типом расширения ядра, условно термин расширение ядра относится к модулю кода, реализующему новый сетевой стек или файловую систему. Вы не использовали бы расширение ядра для передачи с внешним устройством, таким как цифровой фотоаппарат или принтер. (Для получения информации о связи с внешними устройствами посмотрите Драйверы устройств.)

Для получения информации о записи расширений ядра см. Руководство по программированию Ядра.

Драйверы устройств

Драйверы устройств являются специальным типом расширения ядра, которые позволяют OS X связаться со многими устройствами, включая мышей, клавиатуры и диски FireWire. Драйверы устройств передают состояние оборудования к системе и упрощают передачу специфичных для устройства данных к и от аппаратных средств. OS X обеспечивает драйверы по умолчанию для многих типов устройств, но они не могли бы удовлетворить потребности всех разработчиков аппаратных средств.

Несмотря на то, что разработчики мышей и клавиатур могли бы быть в состоянии использовать стандартные драйверы, много других разработчиков требуют пользовательских драйверов. Разработчики аппаратных средств, такие как сканеры, принтеры, платы AGP и платы PCI обычно должны создавать драйверы отдельного устройства, потому что эти устройства требуют более сложной обработки данных, чем обычно необходимо для мышей и клавиатур. Разработчики аппаратных средств также склонны дифференцировать свои аппаратные средства путем добавления пользовательских опций и поведения, мешающего Apple обеспечивать универсальные драйверы для обработки всех устройств.

Apple обеспечивает код, который можно использовать в качестве основания для пользовательских драйверов. Набор I/O служит объектно-ориентированной основой для разработки драйверов устройств с помощью C++. Для узнавания больше о Наборе I/O см. Основные принципы IOKit.