AppleScript

AppleScript
Paradigmaskriptovací
VývojářApple Inc.
Poslední verze2.7 (16. října 2014[1])
Typová kontroladynamické, slabé
Ovlivněn jazykyPřirozený jazyk,
HyperCard
OSSystem 7, Mac OS 8,
Mac OS 9, macOS
Licenceproprietární (APSL
pro některé komponenty)
Webhttp://developer.apple.com/applescript

AppleScript (výslovnost [ˈæplskrɪpt]IPA) je skriptovací jazyk, který vyvinula firma Apple Inc., a zakomponovala do svých operačních systémů Mac OS počínaje Systémem 7 a používá se i v aktuálních verzích systému. Obecně se výraz AppleScript používá pro skriptovací rozhraní, které je navrženo s ohledem na komunikaci s grafickým uživatelským rozhraním (GUI).

Základní pojmy

AppleScript byl navržen s ohledem pro použití koncovými uživateli. Nabízí uživatelům rozumný mechanismus pro ovládání aplikací, pro přístup a úpravu informací a dokumentů. AppleScript může být použit pro vytvoření automatizovaných akcí, které mohou ušetřit potřebný čas pro zpracování různých úkolů. Dále snižuje riziko vzniku chyby při spravování úkolů člověkem a poskytuje konzistentní výstup.

Důležitou vlastností AppleScript je, že jeden skript lze použít pro více aplikací a případně se dají předávat data mezi aplikacemi. Předávání informací je možné, protože všechny programy pro Mac používají standardní rozhraní Apple Events pro komunikaci s operačním systémem. AppleScript využívá předávání informací a umožňuje aplikacím komunikovat mezi sebou navzájem.

Např. AppleScript může otevřít fotku ve Fotoeditoru, snížit rozlišení, přidat rámeček a hodnocení, uložit fotku s příznakem pro web a následně pro fotku vytvořit hypertextový odkaz. Akci lze provést pro jakýkoli počet fotek a v neposlední řadě vytvořit fotoalbum. Případně může dále nahrát galerii na web pomocí FTP klienta. Pro uživatele, který by v tomto případě musel dělat několik set kroků, lze celou akci redukovat na jediný krok, a to spuštění skriptu. Rozsáhle skripty mohou být spuštěny jen jednou, zatímco jiné skripty se dají spouštět stále dokola.

Skoro všechny aplikace používají stejné číselné příkazy (otevřít soubor, zavřít dokument, vytisknout, uložit, ukončit, atd.). Každá skriptovatelná aplikace používá terminologii AppleScript, která je součástí slovníku AppleScript. AppleScript využívá tento slovník k určení platného příkazu aplikace. Slovník Apple Event je distribuován jako součást aplikace, hodnotnou vlastností pro spoustu aplikací je podpora pluginů, kde pluginy mohou být skriptovatelné a zahrnovat slovník Apple Event pro komunikaci s aplikací za běhu. Pro zobrazení aplikace slovníku AppleScript stačí otevřít aplikaci ve Script Editoru. Ten je uložen ve složce aplikace a umožňuje uživateli zobrazit příkazy, kterým aplikace rozumí a které lze použít pro skript.

Program Hello World!

V AppleScriptu vypadá zdrojový kód programu Hello World! takto:[P. 1]

display dialog "Hello World!"

Výstupem toho jednoduché skriptu je klasické macOS dialogové okno s dvěma tlačítky Cancel a OK. V AppleScript můžeme nadefinovat, jak se mají jednotlivá tlačítka chovat a jaký mají mít popisek. Například změna popisku tlačítka vypadá následovně.

display dialog "Hello World!" buttons {"Hello", "Exit"}

AppleScript v operačním systému macOS

AppleScript podporuje spousta macOS aplikací, jak od Applu tak i třetích stran. Skriptovatelné aplikace jsou například Apple's Finder, Safari, iPhoto, a iTunes, stejně tak dobře Adobe Illustrator a Photoshop, Bare Bones BBEdit a TextWrangler, Microsoft Word a Excel, VMwareFusion a mnoho dalších.

Recordable aplikace

Některé aplikace umí poslat Apple Events, když klikneme na jejich menu nebo ve chvíli, kdy provedeme nějaké akce s rozhraním. Těmto aplikacím říkáme „recordable“ (tj. zaznamenatelné), protože Script Editor může zaznamenávat provedené akce uživatelem a následně vytvořit AppleScript makro.

Každopádně při zaznamenávání skriptu nelze tento skript spustit. Nicméně můžete provádět všechno ostatní, přesouvat myš, přidávat, editovat nebo mazat kód, dokonce i kompilovat script.

Záznam aplikací spíše pomáhá při tvorbě AppleScriptu, než aby ho dokázal nahradit. Vyplatí se kombinovat zaznamenaná makra s napsaným AppleScript. Tento přístup obvykle přinese více praktických výsledků, než abychom se snažili zaznamenat celý skript od začátku do konce.

Pouze část skriptovatelných aplikací má funkci recordable (v macOS téměř žádné aplikace již tuto funkci nenabízejí). Například Finder a BBEdit. Zkoumat kód, který je vytvořen recordable aplikací pomáhá k správnému pochopení a psaní skriptů pro aplikace.

Vývojové prostředky pro AppleScript

AppleScript Editor

AppleScript Editor (‚Script Editor‘ ve verzích macOSu před 10.6 „Snow Leopard“) je editor pro AppleScript, který je součástí macOS. Skripty jsou zapsány v souboru, připravené k editaci a případně je možné je sestavit a spustit přímo v editoru. Skripty mohou být rovněž uloženy jako aplikace AppleScript (applety) nebo jako kompilované skripty. Script Editor také poskytuje přístup k referenční knihovně Apple Events, která odpovídá skriptovatelným aplikacím na vašem počítači, a mohou se zaznamenávat události a výsledky z běhu AppleScript Editor pro účely ladění.

XCode

Ve vývojovém prostředí XCode lze vyvíjet aplikace pomocí jazyka AppleScript (kompilované) včetně grafického rozhraní stejně jako v ObjectiveC nebo C/C++.

AppleScriptObjC

AppleScriptObjC je nový framework (od macOS 10.6), který umožňuje napsat Cocoa aplikaci v jazyce AppleScript. Jde o náhradu AppleScript Studia.

AppleScript Studio

AppleScript Studio je framework (od macOS 10.2), který umožňuje psát kompilované aplikace v jazyce AppleScript (je součástí XCode). V macOS 10.6 Snow Leopard byl nahrazen AppleScriptObjC a jeho vývoj nepokračuje.

Automator

Automator umožňuje grafickou, drag-and-drop editaci a vytváření pracovních postupů spojením několika modulů, nebo akcí, (které mohou být vytvořeny v několika jazycích, včetně AppleScript), bez potřebných znalostí kódování AppleScript. Postupy mohou být uloženy jako aplikace pro pozdější použití. Automator je součástí macOS 10.4 a vyšší.

Script Menu

Rozšířený systém skriptovacího menu umožňuje přístup do AppleScripts z menu macOS, bez ohledu na běh aplikace. Skript lze spustit z menu zvolením položky.

Script menu je možné aktivovat pomocí AppleScript utility. Při první aktivaci se načte výchozí nastavení pro menu se základními skripty. Script menu můžeme opět upravit ve Script Editoru podle svých představ. Například jednotlivým položkám přiřadit klávesovou zkratku.

Množství aplikací (jako například Safari, Excel, BBEdit a Xcode) má svoje vlastní skriptovací menu, které zobrazuje pouze skripty používané zásadně v této aplikací.

AppleScript Utility

Aplikace AppleScript Utility se nachází v adresáři AppleScript, která je ve složce macOS Aplications. AppleScript Utility dovoluje uživatelům nastavit Script Editor do implicitního (default) nastavení, povolit GUI skriptování, nastavit složku pro akce a zobrazit Script Menu v menu baru.

Script Debugger

Script Debugger od Late Night Software, je komerční IDE vývojové prostředí pro AppleScript. Script Debugger je pokročilejší prostředí, které umožňuje ladit skripty přes krokování, breakpointy, krokování funkcí/podprogramů, sledování proměnných atd. Script Debugger rovněž obsahuje pokročilý slovník, který umožňuje uživatelům vidět, jak se slovník chová při běhu v reálu. Script Debugger není navržen pro tvorbu GUI skriptů; sice dovoluje navrhnout základních upozornění a dialogová okna, ale je spíše zaměřen na kódování a ladění skriptů.

FaceSpan

FaceSpan od Late Night Software, je IDE vývojové prostředí třetí strany pro tvorbu AppleScript aplikací pomocí GUI. Vývoj FaceSpan je v současné době pozastaven.

Smile

Smile[2] je vývojové komerční IDE prostředí třetí strany pro vytváření AppleScriptu. Jde o vyspělejší prostředí než Script Editor od Apple.

Odkazy

Poznámky

  1. Program je napsán za použití AppleScript Editoru.

Reference

  1. KASTRENAKES, Jacob. OS X Yosemite will be available today from the Mac App Store [online]. Vox Media, Inc., 2014-10-16 [cit. 2017-07-25]. The Verge. Dostupné online. (anglicky) 
  2. Smile home page. Satimage (anglicky)