Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
AppleScript
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Open Scripting Architecture == Apple provides the '''Open Scripting Architecture''' (OSA) for other scripting languages and third-party scripting/automation products (such as QuicKeys and [[UserLand Software|UserLand]] Frontier) to function on an equal status with AppleScript. AppleScript is implemented as a component of [[Component Manager]], and the basic specs for interfacing such components to the OSA are public, allowing other developers to add their own scripting components to the system. Public client [[Application programming interface|API]]s for loading, saving and compiling scripts work the same for all such components, which means that applets and droplets can hold scripts in any of those scripting languages.<ref>{{cite web |url=https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html |title=AppleScript Overview: Open Scripting Architecture |website=developer.apple.com |access-date=May 8, 2017}}</ref> One feature of the OSA is [[#Scripting Additions|scripting additions]], or OSAX for ''Open Scripting Architecture eXtension'',<ref name="OSAX"/> which were inspired by [[HyperCard]]'s External Commands. Scripting additions are [[Library (software)|libraries]] that allow programmers to extend the function of AppleScript. Commands included as scripting additions are available system-wide, and are not dependent on an application (see also {{section link||AppleScript Libraries}}). The AppleScript Editor is also able to directly edit and run some of the OSA languages. ===JavaScript for Automation=== <!--[[JavaScript for Automation]] redirects here ([[MOS:HEAD]])--> {{Expand section|with=comparison of JXA and AppleScript scripting|date=May 2017}} Under [[OS X Yosemite]] and later versions of macOS, the '''JavaScript for Automation''' ('''JXA''') component remains the only serious OSA language alternative to AppleScript,<ref name="Siracusa JXA">{{cite web |last=Siracusa |first=John |date=October 16, 2014 |title=OS X 10.10 Yosemite: The Ars Technica Review: JavaScript automation |url=https://arstechnica.com/apple/2014/10/os-x-10-10/24/#javascript-automation |website=[[Ars Technica]] |access-date=May 8, 2017}}</ref> though the Macintosh versions of [[Perl]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], and [[Tcl]] all support native means of working with Apple events without being OSA components.<ref name="Neuburg"/>{{rp|516}} JXA also provides an [[Objective-C]] (and C language) foreign language interface.<ref name="Siracusa JXA"/> Being an environment based on WebKit's JavaScriptCore engine, the JavaScript feature set is in sync with the system Safari browser engine. JXA provides a JavaScript module system and it is also possible to use [[CommonJS]] modules via browserify.<ref>{{cite web |title=Importing Scripts |url=https://github.com/JXA-Cookbook/JXA-Cookbook/wiki/Importing-Scripts |website=GitHub |publisher=JXA-Cookbook |access-date=December 9, 2019 |date=December 6, 2019}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)