Skip to Content
Skip to Table of Contents

← Previous Article Next Article →

ATPM 10.04
April 2004

Columns

Extras

Reviews

Download ATPM 10.04

Choose a format:

Review: AppleScript: The Definitive Guide (book)

by Gregory Tetrault, gtetrault@atpm.com

verynice
Author: Matt Neuburg

Price: $40 (list); $28 (Amazon)

Trial: Table of Contents, Sample Chapter, and Index.

Overview

This book is designed to be an explanatory manual and an AppleScript reference suitable for all levels of users from novices to experienced scripters. It begins by describing potential uses for AppleScript, progresses to AppleScript’s structure and commands, and ends with a chapter on writing AppleScript applications. The book focuses solely on AppleScript for Mac OS X, though OS 9 users may find it useful.

applescript

Layout and Organization of the Book

The softcover book measures 7" by 9" and has 453 pages. The book has four parts. The first three parts contain 24 chapters. The fourth part contains two appendices. You can view the table of contents. The 23-page index is comprehensive.

Observations and Opinions

Part I, “AppleScript Overview,” contains five chapters. It logically begins with the chapter “Ways to Use AppleScript.” The second chapter describes “places” to use AppleScript such as Script Editor, Script Debugger, internally scriptable applications, applications or utilities that can run compiled scripts, and applets. Chapter 3, “The AppleScript Experience,” walks through the process of identifying a problem, learning whether AppleScript can be used to tackle the problem, and using an incremental programming approach to solve the problem. Chapter 4 describes basic concepts of AppleScript: Apple events, the Open Scripting Architecture, the scripting environment, applets and droplets, AppleScript dictionaries, and so on.

Part II, “The AppleScript Language,” contains 14 chapters. They cover the syntactical and technical aspects of AppleScript programming, such as variables, constants, handlers, objects, and references; datatypes and coercions; properties; and control structures, operators, and commands. This part used adequate detail and brief, pertinent examples throughout. The descriptions are intelligible to beginners and concise enough for intermediate AppleScript programmers.

Part III, “AppleScript in Action,” contains six chapters. The first chapter in this section describes the dictionaries associated with scriptable applications. It is the best treatment of dictionaries I have read. The “Scripting Editions” chapter discusses the pros and cons of these tools and describes the ones included with OS X. The brief “Scriptable Applications” chapter tells how to target scriptable applications in general. It gives more details about the scriptable applications included in OS X. The “Unscriptable Applications” chapter focuses on GUI scripting within OS X. It does not cover methods for using AppleScript with unscriptable third-party applications. The “Unix” chapter describes how to issue Unix commands from AppleScript. The much meatier “Writing Applications” chapter describes options for triggering AppleScripts: applets, droplets, and folder actions. It then discusses the AppleScript Studio development environment for writing Cocoa applications and works through an entire example.

Part IV contains two appendices: “The ‘aeut’ Resource” and “Tools and Resources.” The former is a listing of the dictionary of AppleScript itself. The latter appendix lists software, books, Web and Usenet sites, and other AppleScript-related resources.

Strengths

  • Up-to-date AppleScript book.
  • Well organized and approachable.
  • Reasonably thorough without excessive detail.

Weaknesses

  • No appendices with alphabetical lists of operators, commands, and constants.
  • Inadequate discussion of working with unscriptable applications.

Summary

This book meets its goal of explaining AppleScript to beginners through moderately advanced users. It can be used as an instructional text or, to a lesser extent, as a reference book.

Also in This Series

Reader Comments (0)

Add A Comment





 E-mail me new comments on this article