AppleScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Alfiobot (discussione | contributi)
m accenti/spazi/punteggiatura/intestazioni/links
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(79 versioni intermedie di 48 utenti non mostrate)
Riga 1:
[[Categoria:Linguaggi{{Linguaggio di programmazione]]
'''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.
[[de:|nome = AppleScript]]
|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 dalla [[Apple|Apple Inc.]] e integrato nel proprio sistema operativo [[macOS]].
==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 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 ApplescriptAppleScript può essere considerato come una prosecuzione di [[HyperTalk]], il linguaggio utilizzato da [[HyperCard]] per gestire la logica e l'interfaccia grafica. Il progetto ApplescriptAppleScript 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 ApplescriptAppleScript è 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 ApplescriptAppleScript==
getTIFF( "miaImmagine" ) -> getRow(3) -> getPixel(7)
L'uso primario di ApplescriptAppleScript 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: ApplescriptAppleScript 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 ApplescriptAppleScript.<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, ApplescriptAppleScript 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.
 
==ApplescriptAppleScript Studio==
tell application "Microsoft Word" to quit
{{vedi anche|Applescript Studio}}
 
Con l'avvento deldi [[Mac OS XmacOS]], ApplescriptAppleScript è andato ben oltre le sue origini: [[Applescript Studio]] è un [[ambiente di sviluppo]] gratuito che usa ApplescriptAppleScript come linguaggio principale e in cui l'interfaccia grafica viene progettata tramite il [[framework]] ProjectBuilder.
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.
 
Con l'uscita di [[Mac OS X.3 (codice ''Panther'')]], ApplescriptAppleScript 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>
==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.
 
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.
Con l'uscita di Mac OS 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.<br>
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, ApplescriptAppleScript 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)
*http://www.apple.com/applescript
* {{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.applescriptsourcebook.com
* {{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}}
* {{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)
 
{{macOS}}
[[Categoria:Linguaggi di programmazione]]
{{Controllo di autorità}}
[[Categoria:Mac OS X]]
{{portale|Apple}}
 
[[Categoria:MacTecnologie OSdi XmacOS]]
[[de:AppleScript]]
[[Categoria:Programmazione orientata agli oggetti]]
[[en:AppleScript]]
[[Categoria:Linguaggi di scripting]]
[[ja:AppleScript]]