4 ms·
> AppleScript is an amazing facility and undervalued strength of macOS. True and false. Apple event IPC is pure awesome. The AppleScript language is a dumpster
by hhas 4y ago
> AppleScript is an amazing facility and undervalued strength of macOS.
True and false. Apple event IPC is pure awesome. The AppleScript language is a dumpster fire. AppleScript remains because Apple’s own alternatives, JavaScript for Automation (aka JXA, which you mention) and Scripting Bridge framework, are even worse.
Sadly, the whole AE/OSA/AS platform is the walking dead now. Following two decades of ignorance and mismanagement, and in the wake of JXA’s 2014 failure, Apple finally fired the PM responsible and disbanded the Mac Automation department back in 2016. Whether they actively pull its plug or just let it fade away in its own time, Mac Automation as we know it is, as far as Apple’s concerned, a failed product for a non-existent market. iOS is the only market of significance to Apple now. This sucks, but so it goes.
Apple is now moving to App Extensions and App Intents for user-level IPC, which has maybe 1% the power of AEs but is cross-platform and far easier for App developers to implement; and for front-end they have cross-platform Siri with Shortcuts providing just enough customizability to make it useful (Apple hopes) to the other 99% of users for whom Swift, AppleScript, and all those other text programming languages are “too hard” for non-programmers to use.
(They’re wrong in this: text is easy; it’s languages designed by and for programmers that are hard by design, Shortcuts—ironically—included. A modern version of Papert’s Logo would smash the problem. But Apple’s own thinking is not exactly… advanced.)
…
For those who wish to see what could have been:
https://appscript.sourceforge.io https://appscript.sourceforge.io -- appscript (Python 3 works; the others are bitrotted)
https://hhas.bitbucket.io https://hhas.bitbucket.io -- SwiftAutomation (probably still works)
https://www.npmjs.com/package/nodeautomation https://www.npmjs.com/package/nodeautomation -- nodeautomation (works)
https://sourceforge.net/projects/appscript/files/ https://sourceforge.net/projects/appscript/files/ -- ASDictionary and ASTranslate tools for translating AS commands to their Python/JS/Swift equivalents
All 100% capable alternatives to AppleScript for app automation, and the programmers who used them loved them. But given how thoroughly Apple wrecked the whole platform I killed support after 2012.
Now even stalwarts like Python and Ruby are gone from macOS, and the enormous JavaScript market is 100% owned by V8’s Node.js, which says what Apple priorities are regarding scripting and scripters now. Not that I can blame Apple, but Mac Automation’s failure was always a people problem, not a tech problem, not that they know (or care) the difference.