[PSA] JavaScript for Automation


While there’s still a couple months till Yosemite ships, it already looks as if JavaScript for Automation is going to be one more priceless opportunity down the drain. I’ve been testing it since DP2 and, like Leopard’s Scripting Bridge, it’s a half-baked, half-broken mess whose authors do not understand how AppleScript and application scripting actually work in the real world, never eat their own dog food, and ignore any criticism they don’t understand or don’t wish to hear.

As part of my feedback to the AS team, I hacked together first a prototype JavaScript-AppleEvent Bridge and then a full JavaScript OSA component that they could use as reference, although I’ve no idea if they even bothered to look at it (I just got crickets). I’ve now uploaded a zip file containing the JavaScriptOSA component, the JAB Demo tool for translating application commands from AppleScript to JavaScript syntax, and the original Xcode project files to the old appscript project page so everyone else can have a look as well:


Error reporting and documentation are incomplete, and there’s bugs and other issues not yet resolved, but the AE and OSA support almost all works so folks already trying out JXA on Yosemite will find it useful for comparison. Folks on Mavericks can also try it if they wish as it’s 10.9-compatible too. I’ll try to finish it later if I’ve time, but as Apple have deprecated the whole OSA foundation it’ll never be suitable for production use; therefore it’s JXA or bust.

At this late stage I think the only solution is for users to demand Apple reschedule JXA’s initial release for 10.11, giving them time to [re]do it right. Bear in mind that once 10.10 ships, JXA’s design defects will be effectively welded in for good. So it’s up to all of you to decide if you’re willing to accept something that’s crippled, broken, and thoroughly inferior to AppleScript, and to make yourselves heard by those in charge if not.

[cross-posted from the AppleScript Users mailing list]

Hi hhas,

I’ve been thinking about whatever happened to the old javascript isa component. Looking forward to trying it out. What are the shortcomings in the new os? Oops, forgot that you can’t write about it.

Edited: after downloading it, I created a folder in my home library folder named “Components”. I dragged the .component file to it. Then, I cold started, so I wouldn’t waste time. It’s now there with:

scripting components

→ {“JavaScriptOSA”, “AppleScript”}
Can’t wait to do something.