AppleScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(56 versioni intermedie di 35 utenti non mostrate)
Riga 1:
[[Categoria:Linguaggi{{Linguaggio di programmazione]]
'''AppleScript''' è un sistema di [[scripting]] introdotto da [[Apple|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.
[[de:|nome = AppleScript]]
Con l'avvento di [[Mac OS X 10.4 Tiger]], è possibile usare [[Automator]] per generare script disegnando un [[diagramma di flusso]].
|immagine = Script Editor macOS Sierra.png
|didascalia = Convertitore cm in pixel.
|autore = Apple Inc.
|utilizzo = Linguaggio di scripting per sistemi proprietari [[Apple]]
|paradigmi = Scripting
|tipizzazione = Debole, Dinamica
|data = [[1993]]
|versione = 2.7 (16 ottobre [[2014]])
|sistema_operativo = System 7, Mac OS 8, Mac OS 9, macOS
|licenza = Proprietaria
|sito_web = https://www.apple.com/it
|estensione = .scpt, .scptd, .AppleScript
}}
 
'''AppleScript''' è un sistema di [[scripting]] introdotto dadalla [[Apple|Apple ComputerInc.]] e integrato nel proprio sistema operativo [[Mac OSmacOS]]. In altre parole, '''AppleScript''' rappresenta l'interfaccia di script al Mac OS e quindi lavora tramite un'interfaccia grafica.
==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.
 
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]].
==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):
 
==Storia==
pixel 7 of row 3 of TIFF image "miaImmagine"
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 dalledalla convinzioniconvinzione Apple secondo le qualicui un simile linguaggio poteva essere usato con ogni applicazione.
 
==La metafora deldella linguaggiolingua naturale==
che in un altro linguaggio di alto livello potrebbe essere scritto come:
Mantenendo la tradizionale semplicità d'uso del Mac OSmacOS, il linguaggio AppleScript è costruito sullacome una [[metafora]] di linguaggiouna [[lingua naturale]], allo stesso modo in cui la normale [[Desktop environment|interfaccia grafica desktop]] è costruita sullacome [[metafora della scrivania]]. In questo modo, il concetto di [[Ereditarietà (informatica)|gerarchia di un oggetto]] viene espresso mediante delle proposizioni concatenate (in [[lingua inglese]]):
<syntaxhighlight lang=applescript>
pixel 7 of row 3 of TIFF image "miaImmagine"
</syntaxhighlight>
che in un altro [[Linguaggio di programmazione ad alto livello|linguaggio di alto livello]] potrebbe essere scritto come:
<syntaxhighlight lang=c>
getTIFF( "miaImmagine" ) -> getRow(3) -> getPixel(7)
</syntaxhighlight>
 
==Compiti principali di AppleScript==
getTIFF( "miaImmagine" ) -> getRow(3) -> getPixel(7)
L'uso primario di AppleScript doveva essere quello di controllare altre [[applicazione (informatica)|applicazioni]]; per questo scopo dipende dal [[protocollo di comunicazione]] del Mac OSmacOS chiamato AppleEvents. QuestiSi sonotratta essenzialmente deidi messaggi spediti tramite codici da un'applicazione ada 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.<br />
 
==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.<br />
L'applicazione alla quale il messaggio deve essere spedito è richiamata dal comando "tell":
<syntaxhighlight lang=applescript>
 
tell application "Microsoft Word" to quit
</syntaxhighlight>
 
D'altra parte, AppleScript non ha bisogno di altre applicazioni per effettuare operazioni su dati. Per esempio, il codice seguente:
<syntaxhighlight lang=applescript>
 
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"
</syntaxhighlight>
 
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==
{{vedi anche|Applescript Studio}}
Con l'avvento deldi [[Mac OS XmacOS]], AppleScript è andato ben oltre le sue origini: AppleScript[[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 (codice ''Panther'')]], AppleScript Studio e ProjectBuilderProject Builder sono stati inseriti nell'[[ambiente di sviluppo integrato]] [[Xcode]]. Il tutto permette di costruire l'interfaccia grafica tramite ''[[drag &and drop]]'' (similesimilmente a Microsoftquanto avviene, ad esempio, con [[Visual Basic]]) e verificare immediatamente come verrà vista nell'applicazione.<br />
 
Mac OS X 10.3 contiene, come tutte le precedenti versioni di Mac OSmacOS, 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'Ingleseinglese, ci furono Francese,[[lingua Giapponesefrancese|francese]], Italiano[[lingua giapponese|giapponese]] e [[lingua italiana|italiano]]). AppleScriptEsso 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|Mac OS 8.5]] si tornò ad una sola lingua supportata (l'inglese).
 
==Caratteristiche essenziali del linguaggio==
* tipi di dati: <code>string, integer, real, list, record, object</code>
** in una lista possono coesistere tipi diversi
** i record sono liste di coppie "nome-valore"
* strutture di flusso standard (<code>if..&hellip;then..&hellip;else</code>, cicli <code>repeat, while</code>)
* le variabili sono create al momento dell'uso
* gli oggetti possono contenere sia dati che metodi
* gli oggetti ereditano dai moduli padre
* struttura "<code>tell"</code> per identificare il destinatario del messaggio
* le applicazioni possono definire i termini al runtime
* possibile la compilazione runtime con la struttura "<code>run script"</code>
* possibile la persistenza usando i comandi "<code>store/load script"</code>
 
== Collegamenti esterni ==
* {{cita web |1=http://www.applescript.altervista.org/ |2=Applescript - blog italiano dedicato ad applescript |accesso=3 novembre 2012 |urlarchivio=https://web.archive.org/web/20131009053247/http://applescript.altervista.org/ |dataarchivio=9 ottobre 2013 |urlmorto=sì }} (sito non più raggiungibile al 22 agosto 2017)
*{{it}} [http://www.xcodeitalia.com Xcodeitalia]
* {{cita web|1=https://www.apple.com/applescript/|2=Il sito ufficiale di AppleScript|lingua=en|accesso=24 ottobre 2008|urlarchivio=https://web.archive.org/web/20081003174458/http://www.apple.com/applescript/#|dataarchivio=3 ottobre 2008|urlmorto=sì}}
*http://www.apple.com/it/applescript
* {{cita web|1=http://www.applescriptsourcebook.com/|2=Forum su AppleScript|lingua=en|urlmorto=sì|accesso=24 ottobre 2008|urlarchivio=https://web.archive.org/web/20080820013323/http://www.applescriptsourcebook.com/|dataarchivio=20 agosto 2008}}
*http://www.applescriptsourcebook.com
* {{cita web|http://www.xcodeitalia.com/|XCodeItalia - Community italiana su XCode, contiene una sezione dedicata ad AppleScript}} (sito non più raggiungibile al 22 agosto 2017)
 
 
{{Mac OS XmacOS}}
{{Controllo di autorità}}
{{portale|Apple}}
[[Categoria:Tecnologie di Mac OS X]]
[[Categoria:Linguaggi di programmazione]]
 
[[Categoria:Tecnologie di Mac OS XmacOS]]
[[de:AppleScript]]
[[Categoria:Programmazione orientata agli oggetti]]
[[en:AppleScript]]
[[Categoria:Linguaggi di scripting]]
[[es:AppleScript]]
[[fr:AppleScript]]
[[ja:AppleScript]]
[[ms:AppleScript]]
[[nl:AppleScript]]
[[pt:AppleScript]]
[[sq:AppleScript]]
[[sv:AppleScript]]