BKFRNTDG.RVW 980524 "Frontier: The Definitive Guide", Matt Neuburg, 1998, 1-56592-383-9, U$34.95/C$49.95 %A Matt Neuburg %C 103 Morris Street, Suite A, Sebastopol, CA 95472 %D 1998 %G 1-56592-383-9 %I O'Reilly & Associates, Inc. %O U$34.95/C$49.95 707-829-0515 fax: 707-829-0104 nuts@ora.com %P 616 p. %T "Frontier: The Definitive Guide" Part one takes three chapters to explain what Frontier is. Chapter one starts by presenting a short "day in the life" series of examples of use, concentrating on scripting. The major edit window types; outline, wptext, and table; are described in chapter two. The database and its functions are described in chapter three. Unfortunately, even after three chapters the reader who has not used Frontier is still likely to be a bit hazy on what Frontier is and how to use it. The book does provide good information, but at a comfort level for an intermediate user. This probably is not inappropriate since Frontier is not necessarily a tool for the newbie. On the other hand, Neuburg very gently inserts internals information into the text: not enough to scare the reader, but enough to prompt an awareness of how the program is actually working. The original purpose of Frontier was scripting (and interprocess communication) so part two begins what is essentially a programming manual through most of the rest of the book. The material walks fairly carefully through the concepts and fundamentals of the system, providing an understanding along with examples of use. This field dependent style fits my own preference, but it may frustrate some who simply want to get down and code. Topics covered include scripts (in both outline and text style), handlers and parameters, references to database entries, variables and scope, addresses, evaluation, datatypes, arrays, control structures, and running and debugging scripts. Part three deals with data manipulation and, as the author points out, beginners may wish to leave this topic until later. This is the first section of the book to present extensive lists of verb entries from the database. Data types included involve strings, math, dates, objects, non-scalars, files, resources, threads, and stacks. The final chapter looks at extending the language. Part four discusses the interface functions that can be used with Frontier. Aspects include windows, dialogs, menus, agents and hooks, pictures, import and export, and multiple databases. Frontier's communications with, and control of, the Mac system and other programs is covered in part five. Chapters look at the system, other applications, the generation and use of AppleScript from within Frontier, and the use of Frontier from within other applications. There is also a look at other editors that can be used with Frontier objects and databases. Some tools included with Frontier are reviewed in part six. A couple are simply described, but there are chunks of scripting used as examples. Most of the material in this section deals with the Internet, and particularly Web page creation and site management. A final reference section has chapters on XCMDs and UCMDs (to supplement the chapter on extending the language), operators, punctuation, verbs, and Apple Event Suites. While nobody who has experience with programming will be afraid of this book, it is probably intimidating for a number of those whom the author seems to be addressing. On the other hand, the volume of information, and the candid notes about shortcomings and problems, will likely be very useful to those who are already using the Frontier package. copyright Robert M. Slade, 1998 BKFRNTDG.RVW 980524