Python / Ruby / Perl / etc (o anche bash) possono sostituire AppleScript? [chiuso]

Non sto invitando le persone a odiare su AppleScript in generale; Mi chiedo solo se ciò che rende utile AppleScript può invece essere utilizzato da altri linguaggi di scripting generici. I.e, Lion & Le app Mac probabilmente forniscono hook e ampli AppleScript; API: la lingua qualsiasi potrebbe usare quelle? O AppleScript è nella sua categoria speciale?

Contesto: sto imparando su Unix e su come sta alla base di OS X e sto cercando di diventare consapevole delle opportunità e delle strategie per l'automazione e astrazione. Aaa e mi sento già come se il mio cervello perdesse, quindi se devo aggiungere altro al mio piatto cerco di farlo con parsimonia.

    
posta Josh Tilles 30.08.2011 - 21:28
fonte

5 risposte

In termini di scripting Unix per scopi generici, molti linguaggi come bash, perl, python o ruby sono più capaci di AppleScript. Ma AppleScript ha un ruolo speciale in MacOS con un grande supporto nativo per cose specifiche per Mac, in particolare relative alla GUI.

Ci sono collegamenti tra altri linguaggi di scripting e eventi MacOS. Ad esempio, vedi i moduli OSA MacPython °°° o lo sviluppatore http: // di Apple Ruby e Python per Mac OS X °°°. In generale, considererei questi sforzi cittadini di seconda classe; possono funzionare ed essere una buona scelta, ma sarà un po 'difficile da trovare.

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
°°° EDIT:
Entrambe le lingue sono non supportate sugli ultimi sistemi MacOS . Questi link restituiscono:

Retired Document – Important: The current version of Ruby (2.0) is not supported as a Cocoa scripting language in OS X v10.9. The remainder of the content in this document has not been reviewed for accuracy.
Apple recommends Objective-C for the development of Cocoa apps. [My highlighting.]

I documenti sono finiti con questa linea:

Copyright © 2013 Apple Inc. All Rights Reserved. […] Updated: 2013-09-18

    
risposta data 30.08.2011 - 23:48
fonte

La mia risposta sarebbe: sì

Applescript è un orribile anacronismo di System 7 e in tutti i miei anni di utilizzo e sviluppo del Mac non sono mai riuscito a scrivere una sola riga di esso.

OSA è un framework supportato da Apple che ti consente di accedere a qualsiasi cosa normalmente eseguita su Applescript. Che sia di prima o di seconda classe, solo Apple lo sa. Java è stato pubblicizzato da Apple come un cittadino di prima classe per Cocoa fino a quando Apple non lo uccise. Python e Ruby sono diversi anche perché sono lingue moderne mentre Applescript è un antico casino e Apple lo sa.

Parlando specificamente di uno sfondo rubino, hai alcune opzioni:

  1. rb-appscript - piuttosto obsoleto
  2. RubyOSA
  3. ScriptingBridge for Cocoa . Anche un buon tutorial su MacRuby con Ars Technica .

Li ho usati abbastanza estensivamente negli anni passati e fanno il lavoro molto bene. Esistono equivalenti simili per Python.

    
risposta data 30.12.2011 - 01:29
fonte

AppleScript è nella sua categoria speciale, in quanto è sviluppato da Apple e ha i suoi meccanismi integrati per interagire con il sistema Apple Events in OS X. Non sono a conoscenza di alcun supporto integrato di questo tipo altri linguaggi di scripting che hai citato.

Per aggiungere quel supporto negli script, puoi utilizzare un bridge di eventi come appscript per permetterti di sfruttare gli hook AppleScript nelle app da Ruby o Python. Non l'ho mai usato da solo, quindi il tuo chilometraggio può variare.

    
risposta data 30.08.2011 - 22:57
fonte

Le filosofie di progettazione di AppleScript e i linguaggi di scripting a riga di comando sono due cose molto diverse. Entrambi mirano a portare a termine le cose, ma a farlo in modi molto diversi.

AppleScript ha lo scopo di aiutarti ad automatizzare le comuni attività basate su GUI di alto livello, quindi non devi fare clic su questo e digitarle più e più volte.

Gli script da riga di comando di solito offrono più flessibilità e potenza di AppleScript (a meno che tu non conosca davvero il tuo AS!) permettendoti di scavare in profondità nelle viscere delle API unix-like di Mac OS X.

Per riassumere:

  • AppleScript : automatizza il tuo software basato sulla GUI.
  • Script della riga di comando : svolge la maggior parte delle altre attività.
  • No, non possono sostituire AppleScript perché AS è più vicino alla GUI per molte attività (è un gioco da ragazzi automatizzare il montaggio di un volume remoto in AppleScript, non vorrei provarlo in bash o perl).
risposta data 31.08.2011 - 16:12
fonte

javascript è ufficialmente supportato da OSX 10.10. È descritto da Apple come "javascript per l'automazione", abbreviato come "JXA".

Giusto per chiarire le cose, puoi realizzare in javascript tutto ciò che è legato alla gui e all'automazione, come il applescript e altro ancora. Inoltre, vi è almeno una piccola attività di commit in corso sul wiki di github per link .

    
risposta data 08.06.2017 - 22:47
fonte

Leggi altre domande sui tag