Director XDK
MOA Interfaces | MOA Methods | MOA Types and Misc API


Director Xtra Development Kit

MOA (Macromedia Open Architecture) Developer's Guide


Introduction

The Macromedia Open Architecture (MOA) provides a unified mechanism for implementing code extensions--Xtras--to enhance the capabilities of Macromedia applications. MOA allows Xtras for all applications to conform to a single set of programming constructs and conventions.

The MOA object model is derived from the Microsoft Component Object Model (COM), used to implement OLE (Object Linking and Embedding). However, while COM is designed as a universal, system-level object model, MOA is intended to be more task-specific. The scope of MOA is those areas within Macromedia applications that can benefit from runtime extensions. The purpose of MOA is to provide a consistent, modular way to define and implement those extensions. This restriction benefits MOA programmers by allowing them to focus on specific features rather than learning a large, general purpose system.

MOA is in one sense a subset of COM, and MOA objects are binary compatible with COM. However, no effort has been made to implement all features of COM, such as certain interfaces required by OLE objects. If you're familiar with COM, you should find many similarities in this discussion. If you're not familiar with COM, this discussion provides all the background you need to understand MOA.

MOA and XDKs

While MOA provides the general mechanism and some standard API for implementing Xtras, specific Xtra functionality is implemented through task-specific API. This API is developed in conjunction with specific Macromedia applications, and is made available through Xtra Development Kits (XDKs) as the applications supporting these Xtras become available.

About this document

This document provides a general introduction to MOA. It supplements the documentation for task and application-specific API provided with an XDK. This document provides an overview of MOA and general guidelines for coding MOA Xtras.

This documentation also includes a glossary and a list of frequently asked questions about MOA.

Throughout, this document assumes an understanding of basic programming concepts. Examples and reference material require familiarity with the C programming language.
Note on type conventions
The following type conventions are used throughout this document:

Italic type is used to identify new terms where they are defined.

Courier font is used to identify code fragments and API literals, including class names, method names, function names, type names, macros.

Italic Courier font is used to identify parameters to functions and methods.

Copyright © 1995-2007 Adobe Macromedia Software LLC, Inc.