Guides and Sample Code

Developer

Mac Automation Scripting Guide

On This Page

About Mac Scripting

Scripting allows you to automate complex, repetitive, and time-consuming tasks by writing scripts that interact with apps, processes, and the operating system. A script consists of a series of statements, each of which performs a specific operation. These statements work together to automate tasks. Through scripting, you can create powerful workflow solutions that enhance productivity, reduce errors, save time, and save money.

There are many different scripting languages. On the Mac, the primary ones used for automation are AppleScript and JavaScript.

AppleScript

AppleScript is a mature scripting language developed by Apple. It’s relatively easy to learn in relation to other scripting and programming languages, has been around since System 7.1, and has been widely adopted in both enterprise and personal workflows. While the AppleScript scripting language uses an English-like terminology which may appear simple, it is a rich, object-oriented language, capable of performing complicated programming tasks.

The core fundamentals of AppleScript are described in AppleScript Language Guide, as well as in numerous third-party books.

JavaScript

JavaScript is a popular cross-platform scripting language. Historically, it’s been most commonly used to implement features on websites and in web-based apps that are accessed through browsers. However, some apps implement JavaScript-based scripting models for the purpose of automation. In OS X 10.10, JavaScript became a peer to AppleScript in OS X. There are many third-party websites and books that document the JavaScript language.

For fundamentals on JavaScript as a scripting language for automation in OS X, see JavaScript for Automation Release Notes. For information about the JavaScript language, see Mozilla’s official JavaScript documentation.