As applications grow in size and complexity, it becomes
necessary to break them up into manageable pieces. To some
degree this can be handled at development time by maintaining a
carefully-structured source code base. Compiling the application
into a single, monolithic deliverable may itself become a
roadblock. For example, it may be desirable instead to compile
and validate these pieces separately, and then assemble the
resulting binaries. The pieces may be developed and shipped on
different schedules, and thus different portions of the
application updated independently. Or, the pieces may even be
developed by other parties, as is often the case for
applications supporting plugins. Regardless, it often becomes
necessary to defer loading some of these pieces until runtime.
AIR currently supports two basic approaches for this kind of
runtime assembly: Loading code into a network sandbox, and
loading code into the application sandbox. The two approaches
have different capabilities and different limitations. Whe