AppleScript

Z Wikipedie, otevřené encyklopedie
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[editovat | editovat zdroj]

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![editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

AppleScript Editor[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

Poznámky[editovat | editovat zdroj]

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

Reference[editovat | editovat zdroj]

  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)