Вступ до AppleScript

Apple не славиться своєю відкритістю до втручання в свої екосистеми. Яскравим прикладом є ретельно захищене середовище iOS. Хоча користувачі можуть налаштовувати його під себе, це часто пов’язано з певними ризиками, наприклад, такими як джейлбрейк. Проте, ситуація з macOS зовсім інша. Mac – це складна система Unix, яка гармонійно взаємодіє з можливостями Apple. Існують певні дії, які можна налаштувати на Mac, щоб спростити виконання рутинних завдань, зробивши їх доступними за допомогою одного кліка. Саме для цього Apple розробила AppleScript ще у 1993 році. Він дозволяє користувачам автоматизувати базові функції на Mac, піднімаючи рівень автоматизації на новий рівень. Якщо ви бажаєте налаштувати свій Mac за допомогою простих скриптів, ось як це зробити.

Варто зазначити, що ми лише познайомимо вас з мовою автоматизації AppleScript та її застосуванням. Ми не зможемо зробити з вас професіоналів у цій сфері. Це завдання, з яким вам доведеться впоратися самостійно. Однак, якщо ви це зробите, ваш комп’ютерний світ дійсно зміниться, і це не перебільшення. Уявіть собі безліч рутинних завдань, які вам доводиться виконувати неодноразово, та проблеми, які турбують усі операційні системи, зникають за один клік. Ви зможете робити все: від сортування іконок на робочому столі до ведення обліку робочого часу, внесення даних у Excel та надсилання електронних листів. І все це одним натисканням кнопки. Це сила, яку вам точно варто навчитися використовувати.

Знайомство з AppleScript

AppleScript, на відміну від складного Objective-C та менш складного, але все ж не такого простого Swift, є скриптовою мовою, яка використовує звичайну англійську. Для її використання вам не потрібен ступінь магістра з програмування. Все, що вам потрібно – це зрозуміти, як давати інструкції машині. Наприклад:

tell application "Finder"
display dialog "Hello World"
end tell

Основи синтаксису

Як і в будь-якому програмуванні, існують певні правила. Тобто, потрібно вказувати програмі, коли починати, що ініціювати, що робити під час виконання та коли завершувати. Таким чином, рядок коду має вигляд: [команда] [тип об’єкта] [назва об’єкта] [дія] [завершення команди]. Це спрощене представлення, але якщо ви пишете код, і щось йде не так, можна припустити, що в коді відсутній один або кілька з перелічених параметрів.

Або, простіше кажучи, є “блок інструкцій”, де ви “кажете” програмі, що ви від неї хочете. Подібно до коду вище, він вказує Finder відобразити діалогове вікно зі словами “Hello World” (або будь-яке інше слово на ваш вибір). Після того, як ви закінчите з командою, потрібно написати “end tell”. Як ми вже згадували, це машина, тому вам потрібно вказати їй, де закінчити, інакше вона не скомпілюється (компіляція – це процес перетворення коду у виконуваний файл).

Процес компіляції

Після написання коду, натисніть кнопку “компілювати”. Якщо є якісь синтаксичні помилки (найчастіше орфографічні), система повідомить вам про помилку (наскільки це можливо). Якщо помилок немає, ваш код автоматично форматується та розфарбовується.

Запуск скрипту

Після компіляції натисніть кнопку “запуск”, і все готово. Залежно від того, що ви налаштували, буде зроблено запис у журналі. Як показано нижче для будь-якого сценарію з нашого прикладу. “Повернення” – це процес введення вашого вводу в машину. Якщо ви готові, давайте підемо далі та оголосимо змінні.

Змінні

Якщо ви знайомі з програмуванням, хоча б поверхнево, то ви, ймовірно, знаєте про змінні. Для тих, хто не знає, змінні – це простий спосіб зберігати велику кількість інформації в одному рядку, яким легко маніпулювати. Спосіб їх створення залежить від мови програмування, в AppleScript ви можете використовувати наступний підхід.

set varExample to "Hello World"
tell application "Finder"
display dialog varExample
end tell

Тут “varExample” – це ім’я, яке ми дали нашій оголошеній змінній. Тепер, якщо нам потрібно знову надрукувати “Hello World” у цьому скрипті, нам потрібно буде лише викликати “varExample”, і не доведеться писати весь цей код знову. Змінній можна присвоїти результат будь-якого коду, складного чи простого, і викликати його, коли це необхідно. Як бачите, компіляція вищезазначеного коду дала той же результат, що й попередній. Нові слова “set” і “to” означають, що ми присвоюємо значення, тобто встановлюємо [це] до [того]. Це дуже просто. Досвідчені програмісти знають, що немає потреби оголошувати “тип” змінної, оскільки AppleScript може розпізнати його самостійно. Пам’ятайте, що в назвах змінних не може бути пробілів, інакше компілятор сприйме їх як команди.

Крім того, якщо ви напишете щось після подвійного дефіса “–“, компілятор сприйме це як коментар і проігнорує. Це зручно, оскільки ви можете залишати собі нотатки про те, що ви робите. Це стане вам у пригоді, якщо ваш код стане складним.

Ви можете вільно експериментувати зі змінними. Ось приклад, який ви можете скопіювати та вставити (або спробувати свій власний, якщо бажаєте):

--Числові/Цілочислові змінні
set theFirstNumber to 1
set the theSecondNumber to 2
--Операції зі змінними
set theAnswer to (theFirstNumber + theSecondNumber)
set theAnswer to (theAnswer + 1)
--Рядкові змінні
set theString to "3+2+1="
--Діалогове вікно
tell application "Finder"
display dialog theString & theAnswer
end tell

Цей код не робить нічого, окрім виводу певних повідомлень і елементарної арифметики. Це лише приклад, який демонструє, чого ви можете досягти за допомогою AppleScript.

Словники

Усе вищесказане було необхідне, щоб познайомити вас із середовищем. Після цього ми перейдемо до складнішої частини – словників. AppleScript має набір команд, які можна застосувати до будь-якої програми або елемента в macOS. Однак розробники кожної програми повинні додавати повну підтримку AppleScript до своїх програм. Для цього вони створюють прості посібники про те, як ви можете взаємодіяти з їхніми додатками. Ці посібники називаються “Словники”. Перейдіть до “Файл”, а потім “Відкрити словник”. Тут ви побачите список усіх встановлених програм (за винятком програм Windows, що працюють через обгортки), які підтримують AppleScript. Натисніть будь-яку програму, і ви побачите перелік команд налаштування та способів їх застосування. Для прикладу відкриємо Evernote. Ви можете побачити всі команди, які вона підтримує.

Налаштування редактора AppleScript

Якщо ви зайдете в меню “Файл” в “Редакторі AppleScript” і натиснете “Налаштування”, ви побачите список налаштувань кольорів та форматування для вашого AppleScript. Форматування – це питання смаку, воно не впливає на написання сценаріїв.

Підсумок

Щоб не перевантажувати вас зайвою інформацією, ми завершимо цю інструкцію на цьому етапі, щоб ви могли ознайомитися з інструментом та поекспериментувати з різними варіантами. Слідкуйте за оновленнями, оскільки незабаром ми надамо вам наступні кроки щодо створення власних скриптів. Поділіться своїм досвідом у коментарях.