# Components are the basic unit of executable software on Fuchsia.

## Architectural concepts

- [Introduction](https://fuchsia.dev/fuchsia-src/concepts/components/v2/introduction): Understanding components and the component framework.
- [Component manager](https://fuchsia.dev/fuchsia-src/concepts/components/v2/component_manager): The runtime.
- [Lifecycle](https://fuchsia.dev/fuchsia-src/concepts/components/v2/lifecycle): Component instance progression from creation to destruction.
- [Topology](https://fuchsia.dev/fuchsia-src/concepts/components/v2/topology): The relationships among component instances.
- [Realms](https://fuchsia.dev/fuchsia-src/concepts/components/v2/realms): Sub-trees of the component instance topology.
- [Identifiers](https://fuchsia.dev/fuchsia-src/concepts/components/v2/identifiers): Identifiers for components and component instances.

## Developing components

- [Capabilities](https://fuchsia.dev/fuchsia-src/concepts/components/v2/capabilities/README): Different types of capabilities and how to route them between components.
- [Component manifests](https://fuchsia.dev/fuchsia-src/concepts/components/v2/component_manifests): How to define a component for the framework.
- [ELF runner](https://fuchsia.dev/fuchsia-src/concepts/components/v2/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](https://fuchsia.dev/fuchsia-src/concepts/components/v2/capabilities/runner): Instantiate components; add support for more runtimes.
- [Resolvers](https://fuchsia.dev/fuchsia-src/concepts/components/v2/capabilities/resolver): Find components from URLs; add support for methods of software packaging and distribution.

## Internals

- [Component manifest design principles](https://fuchsia.dev/docs/contribute/governance/rfcs/0093_component_manifest_design_principles)
- [Components vs. processes](https://fuchsia.dev/fuchsia-src/concepts/components/v2/components_vs_processes): how the concepts differ.

[](https://issues.fuchsia.dev/issues/new?component=1439230&template=1881640&description=Issue+on:+https://fuchsia.dev/docs/concepts/components/v2/README.md "Report a bug or suggest improvements on this page") [](https://cs.opensource.google/fuchsia/fuchsia/+/main:docs/concepts/components/v2/README.md "View the source code of this page") [](https://ci.android.com/edit?repo=fuchsia/fuchsia/main&file=docs/concepts/components/v2/README.md&cloneRepo=fuchsia/fuchsia:refs/heads/main&fullPath=fuchsia/docs/concepts/components/v2/README.md "Edit the source code of this page")