Beschreibung

AppleScript stellt Apples Versuch dar, eine Skripting-Sprache auch für technisch Unbeleckte ("for the rest of us") zu entwickeln, mit der sich alle relevanten Bereiche der Nutzung des Macs abdecken lassen. Die Idee hinter AppleScript ist, in möglichst nicht-technischer Syntax einfache bis hin zu extrem komplexen Aufgabenstellungen formulieren zu können. AppleScript an sich stellt dabei nur ein Bindeglied dar zwischen Anwender (der die auf den ersten Blick einfach erscheinende Syntax schätzen lernt) und Aufgabenstellung (passende AppleEvents an die jeweiligen Anwendungen verschicken, damit das Gewünschte eintritt).

Während AppleScript seit seinem Erscheinen vor mehr als einer Dekade nur im Bewußtsein von Programmierern oder "Skriptern" existierte, hat die Einführung von Automator mit MacOS X 10.4 endlich an diesem Bild gerüttelt. Obwohl Automator keineswegs eine AppleScript-Anwendung darstellt, sondern schlicht und ergreifend die Nutzung simpler AppleScript-Mechanismen für einen großen Benutzerkreis ermöglicht, ist doch ein direkter Zusammenhang ersichtlich. AppleScript als Brücke zu den AppleEvents bietet die Möglichkeit, auf Objekte und Methoden der meisten Mac-Programme zuzugreifen. Und Dank Automator auch für nicht des Programmierens Mächtige, die einfach verschiedene "Automator-Aktionen" zu Workflows kombinieren, ohne auch nur eine Zeile AppleScript zu verstehen/erlernt zu haben.

Entwicklerwerkzeuge

Entwicklerwerkzeuge liegen dem System bei. Ein relativ rudimentäres Werkzeug ist der Skripteditor zum Erstellen, und teilweise auch Aufnehmen, einfacher Scripte sowie das AppleScript Studio als Bestandteil von Xcode für komplexere GUI-Programme. Mittels InterfaceBuilder kann ebenfalls ein GUI für entsprechend angepaßte AppleScript Programme erzeugt werden.

Von Drittherstellern sind verfügbar:

Smile
Integrierte Entwicklungsumgebung mit Bibliotheken zur Datenverarbeitung und Visualisierung. Eine eingeschränkte freie Version ist verfügbar. http://www.satimage.fr/software/en/new.html
Script Debugger
Deutlich mächtigere Alternative zum Skripteditor http://www.latenightsw.com/sd3.0/

Hello World

Der Klassiker für den Script Editor: display dialog "Hello World!"

Tipps und Tricks

Um zu erfahren, welche AppleScript-Objekte und -Funktionen ein Programm zur Verfügung stellt, muß man es lediglich per Drag und Drop auf den Skripteditor ziehen (alternativ HTMLDictionary benutzen). Funktionsverzeichnisse von nicht installierten Programmen findet man evtl. bei http://macscripter.net/app_dictionaries/

Alternativen

Einsteigern mag die laxe Syntax von AppleScript auf den ersten Blick als große Erleichterung erscheinen. Für Skripter, die in anderen Sprachen bereits Erfahrungen sammeln konnten, ist genau diese Syntax aber eher ein Greuel. Da der hauptsächliche Sinn und Zweck von AppleScript heutzutage darin liegen dürfte, Anwendungen zu skripten, was darauf hinausläuft, diesen AppleEvents zu schicken, kann man für diesen Zweck auch Alternativen in Betracht ziehen:

JavaScript
Eine noch nicht vollständig fertiggestellte JavaScript OSA-Komponente findet sich hier: http://www.latenightsw.com/freeware/JavaScriptOSA/
Perl
Mittels Perl::Mac-Glue können Application Scripting als auch GUI-Integration aus Perl heraus erledigt werden: http://search.cpan.org/dist/Mac-Glue/
Python
Python-Anwender können mittels Appscript AppleEvent-Skripting aus ihrer bevorzugten Umgebung heraus angehen: http://freespace.virgin.net/hamish.sanderson/appscript.html
Ruby
Leider ist der Entwicklungstand von RubyAEOSA noch etwas sehr rudimentär. Vollwertiges Application Skripting ist damit noch nicht sinnvoll möglich: http://www.fobj.com/hisa/

Historisches

AppleScript erblickte das Licht der Welt mit System 7.1.1 (System 7 Pro) und wurde ab System 7.5 gratis beigelegt. Ursprünglich in mehreren Lokalisierungen/Dialekten geplant (und neben Englisch auch in Französisch und Japanisch umgesetzt) wurde diese Idee mit System 8.5 verworfen. Zwischendurch um ein Haar in der Versenkung verschwunden, wurde die Bedeutung der Scriptingsprache erst nach Rückkehr von Herrn Jobs wieder angehoben und als Schlüsselfunktion definiert. Entwicklern moderner Cocoa-Anwendungen wird es heutzutage extrem einfach gemacht, die Objekte und Methoden ihrer Programme auch per AppleEvents und damit eben auch aus AppleScript heraus ansprechbar zu machen.

AppleScript ist übrigens nicht die erste Skriptingsprache am Mac gewesen. Neben HyperTalk (der Programmiersprache der HyperCard-Umgebung) ist hier v.a. UserTalk zu nennen, eine Skriptsprache mit strikter Syntax (Algol-basiert), die bereits vor AppleScript existierte und nach Apples Entscheidung, AppleScript kostenlos mit dem System zu bundlen, ebenfalls frei verfügbar und OSA-tauglich gemacht wurde.

Literatur

Eine umfassende Literaturauflistung für AppleScript findet man unter AppleScript Literatur

Verweise

Webforen und Internetressourcen

Kategorien
Apple, Leopard, AppleScript, Entwicklerwerkzeuge, Softwareentwicklung, Systemprogramme

Zuletzt geändert am 17.07.2013 07:16 Uhr ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb