This section contains documentation about components in the new component framework (components v2).
Components are the basic unit of executable software on Fuchsia.
- Introduction: What are components and the component framework.
- Component manager: The runtime.
- Declarations: Describe components themselves.
- Lifecycle: Component instance progression from creation to destruction.
- Topology: The relationships among component instances.
- Realms: Sub-trees of the component instance topology.
- Monikers: Identifiers for component instances based on the component topology.
- Capabilities: Different types of capabilities and how to route them between components.
- Component manifests: How to define a component for the framework.
- ELF runner: How to launch a component from an ELF file. Typically useful for developing system components in C++, Rust, or Go.
Extending the component framework
- Runners: Instantiate components; add support for more runtimes.
- Resolvers: Find components from URLs; add support for methods of software packaging and distribution.
Debugging and troubleshooting
Components (either version)
- Test components: defining components that implement tests and running them.
- Test Runner Framework: writing idiomatic tests in different languages that use common testing frameworks.
- Complex topologies and integration testing: testing interactions between multiple components in isolation from the rest of the system.
- State of the Components v2 migration: a work in progress.
- Design principles: Guidelines for arriving at architectural decisions.