AppleScript
AppleScript | |
---|---|
Erscheinungsjahr: | 1993 |
Entwickler: | Apple |
Aktuelle Version: | 2.7 (16. Oktober 2014) |
Typisierung: | schwach, dynamisch, implizit |
Betriebssystem: | Mac OS X |
Lizenz: | proprietär (Teile sind unter der APSL veröffentlicht) |
developer.apple.com/applescript |
AppleScript ist eine Skriptsprache des US-amerikanischen Unternehmens Apple. Sie ist ein Bestandteil des Betriebssystems Mac OS. AppleScript dient dazu, Mac-OS-Programme zu automatisieren, zu erweitern und innerhalb eines Rechnernetzes fernzusteuern.
Die erste Version von AppleScript basierte auf dem HyperCard-Projekt. HyperCard beinhaltete mit der Skriptsprache HyperTalk eine auf der englischen Sprache basierende Skriptsprache. Dadurch sind AppleScript-Programme auch für Personen, die nicht programmieren können, relativ einfach zu verstehen.
Inhaltsverzeichnis
Sprachsyntax
Apple hat sich traditionell das Ziel gesetzt, einfach zu bedienende Computer und Software zu verbreiten. In dieser Philosophie hat Apple AppleScript so entwickelt, dass es an die natürliche englische Sprache angepasst ist.
Der Aufruf einer objektorientierten Methode geschieht unter AppleScript wie folgt:
<syntaxhighlight lang="applescript"> character 1 of item 2 of {"one", "two", "three"} </syntaxhighlight>
Auf Deutsch würde es so heißen:
Zeichen 1 aus Element 2 aus {"one", "two", "three"}
In „gewöhnlichen“ Sprachen wie Java dagegen wie folgt:
<syntaxhighlight lang="java"> String[] x = {"one","two","three"}; char y = x[1].charAt(0); </syntaxhighlight>
Es ist hier ersichtlich, dass Apple sich bemüht, AppleScript auf der Basis der englischen Sprache zu setzen und nicht dem Trend der traditionellen Programmiersprachen zu folgen.
Applikationsübergreifende Kommunikation
AppleScript wird primär dazu benutzt, andere Programme von einem Programm aus „fernzubedienen“. Mac OS bietet AppleEvents an, ein applikationsübergreifendes Kommunikationsprotokoll, mit dem es möglich ist, Nachrichten von einer Applikation zu einer anderen Applikation zu senden, so dass diese sich wie gewünscht verhält.
So kann man zum Beispiel aus einem Skript heraus eine Applikation anweisen, ein bestimmtes Dokument zu öffnen. Mit dem Wort „tell“ wird eine solche Nachricht z. B. an Word geschickt:
<syntaxhighlight lang="applescript"> tell application "Microsoft Word"
open file "Diplomarbeit" of folder "Dokumente" of disk "Studium"
end tell </syntaxhighlight>
Auf Deutsch:
Sage Anwendung "Microsoft Word" Öffne Datei "Diplomarbeit" aus Ordner "Dokumente" aus Laufwerk "Studium" Ende Sage
Man kann aber auch den Mac etwas schreiben lassen, was später auf den Display steht, in dem man das eingibt:
<syntaxhighlight lang="applescript"> display dialog "" </syntaxhighlight>
In den "" gibt man den gewünschten Text ein.
Mit diesem Befehl lässt man den Mac herunterfahren:
<syntaxhighlight lang="applescript"> tell application "Finder"
shut down
end tell </syntaxhighlight>
AppleScript zur Automatisierung
AppleScript ist nicht nur für applikationsübergreifende Aufgaben entworfen worden. Es kann u. a. auch eingesetzt werden, um häufig wiederkehrende Aufgaben zu automatisieren oder Berechnungen durchführen zu lassen. Ein Beispiel:
<syntaxhighlight lang="applescript"> set pix to 72 set answer to text returned of (display dialog "Enter the length in inches" default answer "1") display dialog answer & "in = " & (answer * pix) & "px" </syntaxhighlight>
Auf Deutsch würde es so heißen:
Setze Pixel auf 72 Setze Antwort auf eingegebenen Text von (zeige Dialog "Gib die Länge in Zoll ein" Standardantwort "1") Zeige Dialog Antwort & " Zoll = " & (Antwort * Pixel) & " Pixel"
Es zeigt ein Dialogfeld und fragt nach der Länge in Zoll. Es wird dann berechnet, wie viele Pixel es auf dieser Länge geben wird. Ein zweites Dialogfeld zeigt dann das Resultat.
AppleScript-Dialekte
Apple ließ für eine kurze Zeit AppleScript sogar so erweitern, dass man die Skripte nicht zwingend auf Englisch schreiben musste. Man sollte die Skripts in der eigenen Muttersprache schreiben können. So wurde die Skriptterminologie auf Französisch, Japanisch und Italienisch übersetzt und Mac OS konnte diese von einem Dialekt in einen anderen Dialekt übersetzen. Dies funktionierte zwar, doch die Entwickler von Macintosh-Software (außerhalb von Apple) unterstützten die Mehrsprachigkeit von AppleScript wegen des großen Aufwandes nur unzureichend. Da auch der Support umständlich war, wurde diese Idee in Mac OS 8.5 und höher nicht mehr weiter verfolgt.
Literatur
- Detlef Schulz: AppleScript – der automatische Mac. SmartBooks, Pfäffikon SZ 2009, ISBN 978-3-908497-78-3, S. 844.