DEPRECATION WARNING: The Modular framework is being deprecated in favor of the Session Framework.
A Module
is a component which displays UI in a Modular session. Modules are
added to a story (a container for Modules). Multiple modules can be added to a
single story.
Environment
A module is given access to two services provided by the modular framework in its incoming namespace:
fuchsia.modular.ComponentContext
which gives the agent access to functionality which is shared across components run under the modular framework (e.g. modules, shells, agents).fuchsia.modular.ModuleContext
which gives modules access to module specific functionality.
A module is expected to provide three services to the modular framework in its outgoing namespace:
fuchsia.ui.app.ViewProvider
which is used to display the module's UI.fuchsia.modular.Lifecycle
which allows the framework to signal the module to terminate gracefully.
Lifecycle
A module's lifecycle is bound to the lifecycle of the story it is part of. In addition, a given module can have multiple running instances in a single story.
Communication Mechanisms
Modules can acquire services from agents by connecting to those services from the module's incoming directory.