AppleScript linguaggio di programmazione | |
---|---|
![]() | |
Autore | Apple Inc. |
Data di origine | 1993 |
Ultima versione | 2.7 (16 ottobre2014) |
Utilizzo | Linguaggio di scripting per sistemi proprietariApple |
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 |
Modifica dati su Wikidata ·Manuale |
AppleScript è un sistema discripting introdotto dallaApple Inc. e integrato nel proprio sistema operativomacOS.
Con l'avvento diMac OS X Tiger, è possibile usareAutomator per generare script disegnando undiagramma di flusso. Il manager del progetto AppleScript èSal Soghoian.
Il progetto AppleScript può essere considerato come una prosecuzione diHyperTalk, il linguaggio utilizzato daHyperCard 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.
Mantenendo la tradizionale semplicità d'uso del macOS, il linguaggio AppleScript è costruito come unametafora di unalingua naturale, allo stesso modo in cui la normaleinterfaccia grafica desktop è costruita comemetafora della scrivania. In questo modo, il concetto digerarchia di un oggetto viene espresso mediante delle proposizioni concatenate (inlingua inglese):
pixel7ofrow3ofTIFFimage"miaImmagine"
che in un altrolinguaggio di alto livello potrebbe essere scritto come:
getTIFF("miaImmagine")->getRow(3)->getPixel(7)
L'uso primario di AppleScript doveva essere quello di controllare altreapplicazioni; per questo scopo dipende dalprotocollo 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":
tellapplication"Microsoft Word"toquit
D'altra parte, AppleScript non ha bisogno di altre applicazioni per effettuare operazioni su dati. Per esempio, il codice seguente:
setpixto72setanswertotext returnedof(display dialog"Inserire la misura in cm"defaultanswer"1")display dialoganswer&"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.
Con l'avvento dimacOS, AppleScript è andato ben oltre le sue origini:Applescript Studio è unambiente di sviluppo gratuito che usa AppleScript come linguaggio principale e in cui l'interfaccia grafica viene progettata tramite ilframework ProjectBuilder.
Con l'uscita diMac OS X Panther, AppleScript Studio e Project Builder sono stati inseriti nell'ambiente di sviluppo integratoXcode. Il tutto permette di costruire l'interfaccia grafica tramitedrag and drop (similmente a quanto avviene, ad esempio, conVisual 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.
Per un certo periodo, AppleScript supportò il linguaggio in diverse lingue (tra le quali, oltre all'inglese, ci furonofrancese,giapponese eitaliano). 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 versioneMac OS 8.5 si tornò ad una sola lingua supportata (l'inglese).
string, integer, real, list, record, object
if…then…else
, ciclirepeat, while
)tell
per identificare il destinatario del messaggiorun script
store/load script
Controllo di autorità | LCCN(EN) sh93008583 ·J9U(EN, HE) 987007548912005171 |
---|