Pagina iniziale | Navigazione |
Google

Applescript

Applescript č un sistema di scripting introdotto da Apple Computer 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.

Table of contents
1 Storia
2 La metafora del linguaggio
3 Compiti principali di Applescript
4 Applescript Studio
5 Dialetti
6 Caratteristiche essenziali del linguaggio
7 Riferimenti esterni

Storia

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 dalle convinzioni Apple secondo le quali un simile linguaggio poteva essere usato con ogni applicazione.

La metafora del linguaggio

Mantenendo la tradizionale semplicitĂ  d'uso del Mac OS, il linguaggio Applescript č costruito sulla metafora di linguaggio naturale, allo stesso modo in cui la normale interfaccia grafica č costruita sulla 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

L'uso primario di Applescript doveva essere quello di controllare altre applicazioni; per questo scopo dipende dal protocollo di comunicazione del Mac OS chiamato AppleEvents. Questi sono essenzialmente dei messaggi spediti da un'applicazione ad un'altra, tramite dei codici: 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

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 MacOS X.3 (codice Panther), Applescript Studio e ProjectBuilder sono stati inseriti nell'ambiente di sviluppo integrato XCode. Il tutto permette di costruire l'interfaccia grafica tramite drag & drop (simile a Microsoft 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

Per un certo periodo, Applescript supportò il linguaggio in diverse lingue (tra le quali, oltre all'Inglese, ci furono Francese, Giapponese, 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 (inglese).

Caratteristiche essenziali del linguaggio

  • 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"

Riferimenti esterni


GNU Fdl - it.Wikipedia.org




Google | 

Enciclopedia |  La Divina Commedia di Dante |  Mappa | : A |  B |  C |  D |  E |  F |  G |  H |  I |  J |  K |  L |  M |  N |  O |  P |  Q |  R |  S |  T |  U |  V |  W |  X |  Y |  Z |