AppleScript — язык сценариев, созданный Apple и встроенный в macOS, используемой на компьютерах корпорации начиная с System 7.
AppleScript | |
---|---|
![]() | |
Класс языка | Сценарный язык |
Появился в | 1993 |
Разработчик | Apple Inc. |
Расширение файлов |
.scpt , .scptd или .applescript |
Выпуск | 2.7 (16 октября 2014[1]) |
Система типов | Слабая, динамическая |
Испытал влияние | HyperCard |
Лицензия | Проприетарное программное обеспечение (часть доступна под Apple Public Source License) |
Сайт | developer.apple.com/libr… |
ОС | System 7, Mac OS 8, Mac OS 9 и macOS |
Язык 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 (Satimage Software)
правитьСтороннее бесплатное/коммерческое программное обеспечение IDE для AppleScript, которое, в свою очередь, полностью написано на AppleScript. Smile является бесплатным ПО в первую очередь для развития AppleScript. SmileLab предлагает коммерческое программное обеспечение с обширными дополнениями для численного анализа, построения графиков, автоматизации машин и веб-производства. Smile и SmileLab использует ассортимент различных окон — для запуска и сохранения написанных скриптов, терминал для построчного тестирования кода (англ. line-by-line), окно юникода для работы с текстом и XML. Пользователи могут создавать сложные интерфейсы, называемые диалогами, для ситуаций, когда встроенных диалогов в AppleScript недостаточно.
Script Debugger (Late Night Software)
правитьСторонний коммерческий IDE для AppleScript. Script Debugger является более продвинутой средой разработки AppleScript, что позволяет выполнять отладку сценариев с помощью степпинга, точек останова, отслеживания переменных и т. д. Script Debugger также содержит расширенный словарь, который позволяет пользователю видеть словарь в режиме реального времени. Не просто перечисление того, что охватывает словарь, а возможность открыть документ, например в Pages, и посмотреть, как термины в словаре применимы к этому документу, что облегчает использование частей словаря. Script Debugger не предназначен для создания скриптов с графическим интерфейсом, кроме основных диалоговых окон. Редактор больше ориентирован на написание и отладку сценариев.
ASObjC Explorer 4 Архивная копия от 21 июня 2017 на Wayback Machine (Shane Stanley)
правитьСторонний коммерческий 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.
Литература
править- Mark Conway Munro. AppleScript. — Developer Reference (Том 23). — John Wiley & Sons, 2010. — 624 с. — ISBN 9780470924730.
- Hamish Sanderson, Hanaan Rosenthal. Learn AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X. — 3. — Apress, 2010. — 1104 с. — ISBN 1430223618. — ISBN 9781430223610.
- Sal Soghoian, Bill Cheeseman. Apple Training Series: AppleScript 1-2-3. — Peachpit Press, 2009. — 896 с. — ISBN 9780321648792.
- Jerry Lee Jr. Ford. AppleScript Programming for the Absolute Beginner. — Cengage Learning, 2008. — 368 с. — ISBN 1598636200. — ISBN 9781598636208.
- Matt Neuburg. AppleScript: The Definitive Guide. — O'Reilly Media, 2006. — 565 с. — ISBN 0596102119. — ISBN 9780596102111.
- Adam Goldstein. AppleScript: The Missing Manual: The Missing Manual. — O'Reilly Media, 2005. — 352 с. — ISBN 0596553102. — ISBN 9780596553104.
- Tom Trinko. AppleScript For Dummies. — Wiley, 1996. — 396 с. — ISBN 1568849753. — ISBN 9781568849751.
- William R. Cook. AppleScript (англ.) // University of Texas at Austin. — 2006. — 29 September.
Примечания
править- ↑ OS X 10.10 Yosemite release date . Дата обращения: 16 ноября 2014. Архивировано 13 июля 2019 года.