AppleScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
WikitanvirBot (discussione | contributi)
m r2.7.1) (Bot: Aggiungo: ko:애플스크립트
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(36 versioni intermedie di 24 utenti non mostrate)
Riga 1:
{{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.
[[cs:|nome = AppleScript]]
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]].
|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.
 
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]].
 
==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 dalledalla convinzioniconvinzione Apple secondo le qualicui un simile linguaggio poteva essere usato con ogni applicazione.
 
==La metafora deldella linguaggiolingua naturale==
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]]):
<sourcesyntaxhighlight lang=applescript>
pixel 7 of row 3 of TIFF image "miaImmagine"
</syntaxhighlight>
</source>
che in un altro [[Linguaggio di programmazione ad alto livello|linguaggio di alto livello]] potrebbe essere scritto come:
<sourcesyntaxhighlight lang=c>
getTIFF( "miaImmagine" ) -> getRow(3) -> getPixel(7)
</syntaxhighlight>
</source>
 
==Compiti principali di AppleScript==
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 />
 
L'applicazione alla quale il messaggio deve essere spedito è richiamata dal comando "tell":
<sourcesyntaxhighlight lang=applescript>
tell application "Microsoft Word" to quit
</syntaxhighlight>
</source>
D'altra parte, AppleScript non ha bisogno di altre applicazioni per effettuare operazioni su dati. Per esempio, il codice seguente:
<sourcesyntaxhighlight 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>
</source>
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 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.<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'inglese, ci furono [[lingua francese|francese]], [[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)
*{{en}} [http://www.apple.com/applescript/ Il sito ufficiale di 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ì}}
*{{en}} [http://www.applescriptsourcebook.com/ Forum su 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.xcodeitalia.org/ Xcodeitalia free]
* {{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 XmacOS]]
[[Categoria:Programmazione orientata agli oggetti]]
[[Categoria:Linguaggi di scripting]]
 
[[cs:AppleScript]]
[[de:AppleScript]]
[[en:AppleScript]]
[[es:AppleScript]]
[[fi:AppleScript]]
[[fr:AppleScript]]
[[ja:AppleScript]]
[[ko:애플스크립트]]
[[ms:AppleScript]]
[[nl:AppleScript]]
[[pt:AppleScript]]
[[ru:AppleScript]]
[[simple:AppleScript]]
[[sq:AppleScript]]
[[sv:AppleScript]]
[[uk:AppleScript]]
[[zh:AppleScript]]