Yosemite JavaScript for Automation Support

UPDATE March 14, 2018: This issue came up recently on our support forum and I’ve responded.

Script Debugger 5 does not support the new JavaScript for Automation feature introduced by Apple in Yosemite (Mac OS X 10.10).

Ironically, we once offered our own JavaScript implementation for Script Debugger versions 2 and 3 and discontinued it due to lack of interest. We are watching how much adoption Apple’s JavaScript for Automation receives. Offering debugging for Apple’s JavaScript implementation is non-trivial so this isn’t something we can easily add back into Script Debugger.

If sufficient interest in JavaScript for Automation develops we will seriously consider adding it to Script Debugger, or possible create a JavaScript specific version of the product.

4 thoughts on “Yosemite JavaScript for Automation Support”

  1. @Mark: While your JavaScriptOSA component had some technical shortcomings, the biggest challenge to its adoption was simply being too far ahead of its time. It’s only in the last three or four years that projects like Node.js have seen JavaScript escape the web browser and make serious inroads on servers and desktops.

    As to JavaScript for Automation, I’ll be frank: it’s crap. The Cocoa bindings may or may not be any good (I’ve not tried those) but the Apple event bridge is crippled and broken, and the OSA component support was clearly implemented by someone with no clue how OSA actually works.

    Sadly, I find myself wishing Apple’d just scrap JXA and return to their original WWDC13 plan of developers embed JavaScriptCore directly into their apps, and just give up on the AppleScript stack as a tragically lost cause.

    Incidentally, as part of my pre-release JXA feedback I sent Sal a 95% completed JavaScriptOSA implementation (http://sourceforge.net/projects/appscript/files/) for them to learn or steal from as they wished. (No prizes for guessing the response I got.) Bit buggy, but it was put together in just six weeks.

    No relation to your original JavaScriptOSA, of course, but I knew you’d discontinued it a while back and the name was too good not to steal. Hope you don’t mind!

    1. You are correct when you say that JavaScript OSA was ahead of its time. Many people were confused that JavaScript OSA had absolutely no relationship with Safari and the web page DOM.

      Whose clause support was the big missing piece, and looking back I see that there were relatively good solutions available but I just couldn’t see them at the time.

      There were deployment issues as well. There is no way to embed an OSA component within a bundled script application (Radar bug filed but nothing ever happened), and so scripts that relied on JavaScript OSA required the user to install it first. All these things made it impossible to gain any traction.

      As for Apple, they have been radio silent with me for years.

      1. Hey, don’t feel too bad. Every other attempt to provide alternatives to AppleScript, from Frontier onwards, has failed as well. Including Apple’s own, which were technically rotten as well as neglected and abandoned the moment they were out the door.

        I’m really disappointed (though sadly unsurprised) to hear the AS team never communicate with you. Considering serious AppleScripters would’ve long since gone insane without Script Debugger, you’d think they’d show more appreciation for keeping them in their jobs. :p

Comments are closed.