Я бы предположил, что вариант 1 может быть вашим лучшим выбором, из-за того, как работает Applescript.
Существует два типа Applescript: обычный текст Applescript, затем скомпилированный Applescript. Соответствующий Applescript был переведен (по существу) на байт-код у Applescript-complier.
Таким образом, если ваше приложение позволяет это, вы можете скомпилировать все ваши Applescripts один раз, а затем позвонить им позже. Это сэкономит вам некоторое время (секунды?).
(я только предполагаю здесь, что, в дополнение к команде eval
, ваш класс Java есть способ просто компилировать Applescript.)
На стадии компиляции, Applescript также пытается определить все приложения на сценарий использует. Я считаю, что на этом этапе Applescript может сказать: «Извините, я не могу найти SurfWriter, пожалуйста, укажите мне приложение». Такой пользовательский интерфейс является одной из тех вещей, которые пользователь хочет сделать как можно меньше;)