AppleScript
AppleScript Editor Logo.png
Класс языка Сценарный язык
Появился в 1993; 27 лет назад (1993)
Разработчик Apple Inc.
Расширение файлов .scpt, .scptd или .applescript
Выпуск 2.7 (16 октября 2014; 5 лет назад (2014-10-16)[1])
Система типов Слабая, динамическая
Испытал влияние HyperCard
Лицензия Проприетарное программное обеспечение (часть доступна под Apple Public Source License)
Сайт developer.apple.com/applescript/
ОС System 7, Mac OS 8, Mac OS 9 и macOS

AppleScript — язык сценариев, созданный Apple и встроенный в macOS, используемой на компьютерах корпорации, начиная с System 7.

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

AppleScript имеет некоторые элементы объектно-ориентированного программирования, в частности при программировании объектов сценария и синтаксиса «естественного языка», но не так строго соответствует той или иной категории.

Инструменты разработки

Редакторы сценариев

Редакторы сценариев обеспечивают единую среду для программирования AppleScripts и предоставляют инструменты для их составления, проверки, компиляции, запуска и отладки. Они также обеспечивают механизмы просмотра словарей AppleScript из сценарных приложений, сохранение сценариев в различных форматах (скомпилированные файлы сценариев, пакеты прикладных программ, связки сценариев и текстовые файлы) и, как правило, обеспечивают такие функции, как подсветка синтаксиса и вставка заранее написанных фрагментов кода.

AppleScript Editor

Название используется в версиях macOS, предшествующих 10.6 Snow Leopard, а также в OS X Yosemite. Редактор для AppleScript, который идет в комплекте с macOS. Сценарии пишутся в окне, где они могут быть скомпилированы и воспроизведены. Также окна содержат различные панели, в которых содержатся регистрируемые данные, результаты выполнения, а также другая информация, требуемая для отладки. Доступ к скриптовым словарям и предварительно составленным фрагментам кода доступны через меню приложения. AppleScript Editor в OS X Yosemite имеет возможность написания кода AppleScript и JavaScript.

Набор инструментов для разработки приложений с возможностью редактирования AppleScripts или создания полноценных приложений, написанных с помощью AppleScript.

Smile и SmileLab (

Стороннее бесплатное/коммерческое программное обеспечение IDE для AppleScript которое, в свою очередь, полностью написано на AppleScript. Smile является бесплатным ПО в первую очередь для развития AppleScript. SmileLab предлагает коммерческое программное обеспечение с обширными дополнениями для численного анализа, построения графиков, автоматизации машин и веб-производства. Smile и SmileLab использует ассортимент различных окон — для запуска и сохранения написанных скриптов, терминал для тестирования кода линии за линией (англ. line-by-line), окно юникода для работы с текстом и XML. Пользователи могут создавать сложные интерфейсы, называемые диалогами, для ситуаций, когда встроенных диалогов в AppleScript недостаточно.

Script Debugger (

Сторонний коммерческий IDE для AppleScript. Script Debugger является более продвинутой средой разработки AppleScript, что позволяет выполнять отладку сценариев с помощью степпинга, точек останова, отслеживания переменных и т. д. Script Debugger также содержит расширенный словарь, который позволяет пользователю видеть словарь в режиме реального времени. Не просто перечисление того, что охватывает словарь, а возможность открыть документ, например в Pages, и посмотреть, как термины в словаре применимы к этому документу, что облегчает использование частей словаря. Script Debugger не предназначен для создания скриптов с графическим интерфейсом, кроме основных диалоговых окон. Редактор больше ориентирован на написание и отладку сценариев.

Сторонний коммерческий IDE для AppleScript, в особенности для AppleScriptObjC. Это единственный инструмент для AppleScriptObjC Cocoa-scripting (доступно в OS X Yosemite). Главной особенностью является Cocoa-object, ведение журнала событий (лога), отладки и завершения кода. Пользователи могут читать события и объекты Cocoa, как и другие сценарные приложения. Этот инструмент сделан для библиотек AppleScript (доступных в OS X Mavericks). Библиотеки AppleScript стремятся к многоразовому использованию компонентов AppleScript и поддерживают встроенный словарь AppleScript (SDEF, Standard Data Exchange Format). ASObjC Explorer 4 может выступать в качестве внешнего редактора сценариев в Xcode.

FaceSpan (Late Night Software)

Сторонний коммерческий IDE для создания приложений на AppleScript с графическими интерфейсами (GUI). Развитие FaceSpan было приостановлено.

Запуск сценариев

AppleScripts может быть запущена из редактора сценариев, но, как правило, удобнее запускать скрипты напрямую, без открытия редактора. Есть несколько вариантов так называемых лаунчеров.

Script Menu

Система обеспечивает доступ к AppleScripts из строки меню macOS, независимо от того, какое приложение запущено. Выбор сценария в меню сценариев запускает его. В версиях 10.6.x меню скриптов активируется из предпочтений AppleScript Editor; в предыдущих версиях macOS, он мог быть активирован из приложения AppleScript Utility.

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

Клавиши быстрого доступа

Клавиши быстрого доступа могут быть назначены в меню сценария, с помощью раздела Системные настройки — Настройка клавиатуры и мышки. Также доступны различные сторонние утилиты — QuicKeys, Spark, Quicksilver, Alfred, TextExpander.

Действия в папке

Используя папку действий AppleScript, возможно запустить скрипты, когда происходят определенные изменения в папках (например, добавление или удаление файлов). Действия папки могут быть назначены, если нажать на папку и выбрать Folder Actions Setup… из контекстного меню; расположение этой команды в версиях 10.6.x немного отличается от ранних версий. Такое же действие доступно при помощи сторонних утилит, таких как Hazel.

Командная строка UNIX

AppleScripts возможно запустить из командной строки UNIX или из запланированных на запуск программ, с помощью инструмента osascript. Инструмент osascript может запускать скомпилированные скрипты (файлы с расширением .scpt) и текстовые файлы (.applescript — эти файлы скомпилированы с помощью данного инструмента). Приложения сценариев можно запускать с помощью открытой команды UNIX.

Связанно с созданием сценариев

Automator является графической модульной средой для редактирования, в которой рабочие процессы строятся из действий. Приложение предназначено для использования многих функций AppleScript, без необходимости знания программирования. Automator имеет функции, специально разработанные для создания и запуска AppleScripts в графическом интерфейсе по принципу drag-and-drop.

Основные приложения системы

Это фоновые приложения, упакованные в macOS. Они используются для доступа к функциям AppleScript, которые обычно не присутствовали бы в скриптах. По состоянию версии 10.6.3, они включают в себя приложение для работы со сценариями VoiceOver (звуковое воспроизведение и использование брайлевского дисплея для чтения пакета), System Events (англ. системные события) (контроль без сценарных приложений и доступ к определенным функциям системы, так же к основным операциям с файлами), Printer Setup Utility (англ. утилита настройки принтера) (утилита для обработки заданий на печать), Image Events (ядро для работы с изображениями), HelpViewer (англ. средство просмотра справки) (показ справки), Database Events (минимальный интерфейс предназначенный для работы с базами данных SQLite3) и AppleScript Utility, а также несколько полезных приложений, используемых в системе.

AppleScriptObjC

Часть пакета Xcode, среда разработки Cocoa, которая доступна на установочном компакт-диске macOS, но не устанавливается по умолчанию. AppleScriptObjC позволяет выполнять вызов команд AppleScripts Cocoa напрямую.

AppleScript Studio

Часть пакета Xcode в версиях 10.4 и 10.5, более не рекомендуется. Фреймворк для работы интерфейса Cocoa в приложениях AppleScript.

Scripting Additions (OSAX)

Дополнения (плагины) для работы с AppleScript, разработанные компанией Apple и третьими сторонами. Они предназначены для расширения встроенной команды Set, расширяя возможности рабочей группы и делая ее меньше зависимой от функциональных возможностей, предоставляемых приложениями. Например, дополнение Standard Addition.osax от Apple добавляет набор команд и классов, которые не входят в основные функции рабочей группы — без этого osax, у AppleScript не было бы возможности отображения диалоговых окон, использования навигационных услуг, или выполнения каких-либо действий, прямо не предусмотренных приложением.

Библиотеки AppleScript

Многоразовый модуль для AppleScript, написанный на самом же AppleScript (доступен в OS X Mavericks). Это пакет скриптов с одним или несколькими скриптами. Также некоторые фреймворки написаны на Objective-C. Все это своего рода дополнительные скрипты, написанные для расширения возможностей AppleScript.

Литература