Supongo que la opción 1 podría ser su mejor opción, debido a cómo funciona Applescript.
Hay dos tipos de Applescript: texto plano Applescript, compilado Applescript. Applescript cumplido ha sido traducido (esencialmente) en bytecode por el compilador Applescript.
Por lo tanto, si su aplicación lo permite, puede considerar compilar todas sus secuencias de comandos una vez, y luego llamarlas más tarde. Esto te ahorrará algo de tiempo (¿segundos?).
(Sólo estoy adivinando que, además del comando eval
, la clase Java tiene una manera de simplemente compilar Applescript.)
Durante la etapa de compilación, Applescript también trata de identificar todas las aplicaciones de las script usa. Creo que es durante esta fase en la que AppleScript podría decir: "Lo siento, no puedo encontrar SurfWriter, por favor dirígeme a la aplicación". Este tipo de experiencia de usuario es una de esas cosas que el usuario quiere hacer lo menos posible;)