Přeskočit na obsah

AppleScript

Z Wikipedie, otevřené encyklopedie

ė

AppleScript je skriptovací jazyk, který vyvinula firma Apple Inc., a zakomponovala do operačního systému Mac OS X. 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 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!

V AppleScript, klasický program Hello World! Program je napsán v AppleScript Editor:

display dialog "Hello World!"

Výsledkem toho jednoduché skriptu je klasický Max OS X 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 Mac OS X

AppleScript podporuje spousta Mac OS X 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áznamových aplikace spolupracuje v jistém smyslu se vaše psaní AppleScript, spíše než ho 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 malá část skriptovatelných aplikací mají funkci recordable (v Mac OS X 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 (tzv. Script Editor ve verzích OS X před 10.6 Snow Leopard) je editor pro AppleScript, který je součástí Mac OS X. 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 Mac OS X 10.6), který umožňuje napsat Cocoa aplikaci v jazyce AppleScript. Je to náhrada AppleScript Studia.

AppleScript Studio

AppleScript Studio je framework (od Mac OS X 10.2), který umožňuje psát kompilované aplikace v jazyce AppleScript (je součástí XCode). V Mac OS X 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í Mac OS X 10.4 a vyšší.

Script Menu

Rozšířený systém skriptovacího menu umožňuje přístup do AppleScripts z menu Mac OS X, 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.

Pár aplikací (jako například BBEdit a Xcode) mají svoje vlastní scriptovací 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 Mac OS X Aplications. AppleScript Utility dovoluje uživatelům nastavit Script Editor do defaultního nastavení, povolit GUI skriptování, nastavit složku pro akce a zobrazit Script Menu v menu baru.

Script Debugger

Script Debugger, from 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

FaceSpan, z 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, z Satimage 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.