AppleScript

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
AppleScript
Paradigma skriptovací
Vývojář Apple Inc.
Poslední verze 2.7[1]
(16. října 2014)
Typová kontrola dynamické, slabé
Ovlivněn jazyky Přirozený jazyk,
HyperCard
OS System 7, Mac OS 8,
Mac OS 9, macOS
Licence proprietární (APSL
pro některé komponenty)
Web http://developer.apple.com/applescript

AppleScript 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 konče aktuálním macOSem 10.12 Sierra. 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 foto album. 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 pouze 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 nechají 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á AppleScript terminologii, která je součástí Apple Event slovníku. AppleScript využívá tento slovník k určení platného příkazu od aplikace. Apple Event slovník je distribuován jako součást aplikace, hodnotnou vlastností pro spoustu aplikací je podpora pluginů, kde pluginy mohou být skriptovatelné a zahrnovat Apple Event slovník pro komunikaci s aplikací za běhu. Pro zobrazení aplikace AppleScript slovníku, stačí otevřít aplikaci ve Script Editoru. Script Editor 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 AppleScript, klasický program Hello World! Program je napsán v AppleScript Editoru:

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 (tzv. 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 defaultní 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 scriptů, 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. Smile je vyspělejší prostředí než Script Editor od Apple.

  1. OS X Yosemite will be available today from the Mac App Store [online]. [cit. 2014-11-16]. Dostupné online. (anglicky) 
  2. Smile home page. Satimage (anglicky)