AppleScript

Da Wikipedia, l'enciclopedia libera.
Template-info.svg

AppleScript è un sistema di scripting introdotto da Apple Computer e integrato nel proprio sistema operativo Mac OS. In altre parole, AppleScript rappresenta l'interfaccia di script al Mac OS e quindi lavora tramite un'interfaccia grafica. Con l'avvento di Mac OS X 10.4 Tiger, è possibile usare Automator per generare script disegnando un diagramma di flusso. Il manager del progetto AppleScript è Sal Soghoian.

Storia[modifica | modifica sorgente]

Il progetto AppleScript può essere considerato come una prosecuzione di HyperTalk, il linguaggio utilizzato da HyperCard per gestire la logica e l'interfaccia grafica. Il progetto AppleScript nacque dalla convinzione Apple secondo cui un simile linguaggio poteva essere usato con ogni applicazione.

La metafora del linguaggio[modifica | modifica sorgente]

Mantenendo la tradizionale semplicità d'uso del Mac OS, il linguaggio AppleScript è costruito come una metafora di un linguaggio naturale, allo stesso modo in cui la normale interfaccia grafica desktop è costruita come metafora della scrivania. In questo modo, il concetto di gerarchia di un oggetto viene espresso mediante delle proposizioni concatenate (in lingua inglese):

pixel 7 of row 3 of TIFF image "miaImmagine"

che in un altro linguaggio di alto livello potrebbe essere scritto come:

getTIFF( "miaImmagine" ) -> getRow(3) -> getPixel(7)

Compiti principali di AppleScript[modifica | modifica sorgente]

L'uso primario di AppleScript doveva essere quello di controllare altre applicazioni; per questo scopo dipende dal protocollo di comunicazione del Mac OS chiamato Apple events. Si tratta essenzialmente di messaggi spediti, tramite codici, da un'applicazione a un'altra: AppleScript usa i dizionari di ogni applicazione per associare a tali codici dei termini comprensibili, permettendo quindi la comunicazione nei due sensi tra codici AppleEvents e termini AppleScript.
L'applicazione alla quale il messaggio deve essere spedito è richiamata dal comando "tell":

tell application "Microsoft Word" to quit

D'altra parte, AppleScript non ha bisogno di altre applicazioni per effettuare operazioni su dati. Per esempio, il codice seguente:

set pix to 72
set answer to text returned of (display dialog "Inserire la misura in cm" default answer "1")
display dialog answer & "cm = " & (answer * pix / 2.54) & "pixel"

mostra una finestra di dialogo, per l'inserimento da parte dell'utente dei centimetri. La risposta viene convertita in pixel per un sistema a 72 pixel per pollice; il risultato viene mostrato tramite una seconda finestra di dialogo.

AppleScript Studio[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Applescript Studio.

Con l'avvento del Mac OS X, AppleScript è andato ben oltre le sue origini: Applescript Studio è un ambiente di sviluppo gratuito che usa AppleScript come linguaggio principale e in cui l'interfaccia grafica viene progettata tramite il framework ProjectBuilder.

Con l'uscita di Mac OS X 10.3 Panther, AppleScript Studio e Project Builder sono stati inseriti nell'ambiente di sviluppo integrato Xcode. Il tutto permette di costruire l'interfaccia grafica tramite drag and drop (similmente a quanto avviene, ad esempio, con Visual Basic) e verificare immediatamente come verrà vista nell'applicazione.
Mac OS X.3 contiene, come tutte le precedenti versioni di Mac OS, anche uno editor di script che, pur mantenendo la semplicità originale, permette di costruire script anche complicati, utilizzando alcune caratteristiche di aiuto che ne permettono l'uso anche a principianti.

Dialetti[modifica | modifica sorgente]

Per un certo periodo, AppleScript supportò il linguaggio in diverse lingue (tra le quali, oltre all'inglese, ci furono francese, giapponese e italiano). AppleScript era in grado di compilare uno script scritto in una qualsiasi di queste lingue e di salvare in un dialetto diverso; anche se il progetto rappresentò un successo tecnico, pochi sviluppatori fornirono dizionari nelle varie lingue per le proprie applicazioni. Inoltre il supporto e le prove di controllo qualità si rivelarono molto dispendiose rispetto al possibile guadagno: dalla versione Mac OS 8.5 si tornò ad una sola lingua supportata (l'inglese).

Caratteristiche essenziali del linguaggio[modifica | modifica sorgente]

  • tipi di dati: string, integer, real, list, record, object
    • in una lista possono coesistere tipi diversi
    • i record sono liste di coppie "nome-valore"
  • strutture di flusso standard (if…then…else, cicli repeat, while)
  • le variabili sono create al momento dell'uso
  • gli oggetti possono contenere sia dati che metodi
  • gli oggetti ereditano dai moduli padre
  • struttura tell per identificare il destinatario del messaggio
  • le applicazioni possono definire i termini al runtime
  • possibile la compilazione runtime con la struttura run script
  • possibile la persistenza usando i comandi store/load script

Collegamenti esterni[modifica | modifica sorgente]

Apple Portale Apple: accedi alle voci di Wikipedia che trattano di Apple