Archive of UserLand's first discussion group, started October 5, 1998.

What is OSA (Re: Mac guys do it at runtime)

Author:Mark Alldritt
Posted:9/9/2000; 10:18:28 AM
Topic:Guido and Richard
Msg #:21067 (In response to 21043)
Prev/Next:21066 / 21068

OSA is based on the Macintosh's Component Manager. The Component Manager is very COM like, but lacks much of the compiler support present on Windows. By the way, the Component Manager provides the base architecture for Apples QuickTime.

Essentially, the Component Manager allows objects to register themselves and then clients can create instances. There are a range of services offered by the Component Manager that allow for what we might consider inheritence and polymorphism. Like COM, object access can be cross-process (though this aspect of the Component Manager is being taken away under MacOS X).

OSA uses the Component Manager to define an abstract Interface for connecting to scripting systems (AppleScript, UserTalk, JavaScript, etc.), loading scripts and executing them. Once of the cool things about OSA is that it implements a generic scripting system that, when presented with a script, automatically loads the appropriate scripting system to run it.

This design makes scripting on the mac amazingly flexible for the user. In addition, developers adopting OSA in their client applications gain access to any scripting system that might appear in future.

A few years after Apple did OSA, MS produced Windows Scripting Host which is somewhat similar. Of course, Windows Scripting Host uses COM, but it offers the same kind of flxibility -- though the notion of a generic scripting component appears to be missing.

Cheers -Mark


There are responses to this message:


This page was archived on 6/13/2001; 4:56:36 PM.

© Copyright 1998-2001 UserLand Software, Inc.