AppleScript
AppleScript linguaggio di programmazione | |
---|---|
Convertitore cm in pixel. | |
Autore | Apple Inc. |
Data di origine | 1993 |
Ultima versione | 2.7 (16 ottobre 2014) |
Utilizzo | Linguaggio di scripting per sistemi proprietari Apple |
Paradigmi | Scripting |
Tipizzazione | Debole, Dinamica |
Estensioni comuni | .scpt, .scptd, .AppleScript |
Influenzato da | HyperTalk, linguaggio naturale e natural-language programming |
Implementazione di riferimento | |
Sistema operativo | System 7, Mac OS 8, Mac OS 9, macOS |
Licenza | Proprietaria |
Sito web | www.apple.com/it |
AppleScript è un sistema di scripting introdotto dalla Apple Inc. e integrato nel proprio sistema operativo macOS.
Con l'avvento di Mac OS X Tiger, è possibile usare Automator per generare script disegnando un diagramma di flusso. Il manager del progetto AppleScript è Sal Soghoian.
Storia
[modifica | modifica wikitesto]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 della lingua naturale
[modifica | modifica wikitesto]Mantenendo la tradizionale semplicità d'uso del macOS, il linguaggio AppleScript è costruito come una metafora di una lingua 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 wikitesto]L'uso primario di AppleScript doveva essere quello di controllare altre applicazioni; per questo scopo dipende dal protocollo di comunicazione del macOS chiamato AppleEvents. 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 wikitesto]Con l'avvento di macOS, 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 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 10.3 contiene, come tutte le precedenti versioni di macOS, 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 wikitesto]Per un certo periodo, AppleScript supportò il linguaggio in diverse lingue (tra le quali, oltre all'inglese, ci furono francese, giapponese e italiano). Esso 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 wikitesto]- 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
, ciclirepeat, 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 wikitesto]- Applescript - blog italiano dedicato ad applescript, su applescript.altervista.org. URL consultato il 3 novembre 2012 (archiviato dall'url originale il 9 ottobre 2013). (sito non più raggiungibile al 22 agosto 2017)
- (EN) Il sito ufficiale di AppleScript, su apple.com. URL consultato il 24 ottobre 2008 (archiviato dall'url originale il 3 ottobre 2008).
- (EN) Forum su AppleScript, su applescriptsourcebook.com. URL consultato il 24 ottobre 2008 (archiviato dall'url originale il 20 agosto 2008).
- XCodeItalia - Community italiana su XCode, contiene una sezione dedicata ad AppleScript, su xcodeitalia.com. (sito non più raggiungibile al 22 agosto 2017)
Controllo di autorità | LCCN (EN) sh93008583 · J9U (EN, HE) 987007548912005171 |
---|