tree: 252dfcb89e7129df2f1998a079fe37330a7169af [path history] [tgz]
  1. capabilities/
  2. images/
  3. capability_routing_example.png
  4. collection_example.png
  5. component_manager.md
  6. component_manifests.md
  7. components_and_processes.md
  8. declarations.md
  9. design_principles.md
  10. elf_runner.md
  11. environments.md
  12. hub.md
  13. introduction.md
  14. life_of_a_protocol_open.md
  15. lifecycle.md
  16. monikers.md
  17. opaque_test.md
  18. README.md
  19. realm_example.png
  20. realms.md
  21. resolvers.md
  22. runners.md
  23. services.md
  24. topology.md
docs/concepts/components/v2/README.md

Components v2

This section contains documentation about components in the new component framework (components v2).

Components are the basic unit of executable software on Fuchsia.

Note: The component framework is under active development. This document only covers the new architecture (components v2) implemented by component_manager. The old architecture (components v1) implemented by appmgr is still in use but will be removed once the transition to the new architecture is complete.

Architectural concepts

Developing components

  • 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

  • Hub: A live view of the component topology at runtime.
  • OpaqueTest: Hermetic testing framework.

Internals

Components (either version)

  • [Component URLs][doc-component_urls] are URLs that identify components.