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.
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.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.
Modules can acquire services from agents by connecting to those services from the module's incoming directory.