AppleScript
AppleScript | |
---|---|
![]() | |
Класс языка | Сценарный язык |
Появился в | 1993; 32 года назад (1993) |
Разработчик | Apple Inc. |
Расширение файлов | .scpt , .scptd или.applescript |
Выпуск | 2.7 (16 октября 2014; 10 лет назад (2014-10-16)[1]) |
Система типов | Слабая,динамическая |
Испытал влияние | HyperCard |
Лицензия | Проприетарное программное обеспечение (часть доступна под Apple Public Source License) |
Сайт | developer.apple.com/libr… |
ОС | 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.
Xcode (Apple)
[править |править код]Набор инструментов для разработки приложений с возможностью редактирования 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. Это единственный инструмент для AppleScriptObjCCocoa-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 года.