diff --git a/get-started/_common/intro/_components_manager.md b/get-started/_common/intro/_components_manager.md index 4e4cdeb2..6bc5c22f 100644 --- a/get-started/_common/intro/_components_manager.md +++ b/get-started/_common/intro/_components_manager.md @@ -1,48 +1,39 @@ - -## 组件管理器 +## Component manager - -组件框架的核心是**组件管理器**。它负责协调所有组件实例的执行,提供相应的功能,连接各个组件。 +components. - -组件可以显示地启动(例如,通过 URL调用)或者隐式地通过响应特定功能的请求而启动。组件管理器采取必要的步骤以决定是启动一个新组件还是将请求路由到现有实例。为实现这种路由功能,组件必须先声明它能**提供**给系统和它需要**使用**的功能。 +and any it **consumes**. +
+ +For more examples, see + components + vs. processes.
- -组件管理器解析每个组件的**声明**以决定如何运行组件并提供必要的功能。组件通常通过组件包中包含的**组件清单** -文件向系统声明自己。 +the component's package. - -以下是一个组件清单的简单例子,它描述了一个包含一些附加命令参数的 ELF 可执行程序: +Below is a simple example of a component manifest that describes an ELF +executable with some additional command arguments: ```json5 program: { @@ -52,8 +43,6 @@ program: { }, ``` - -留意这个运行时声明,它告诉组件管理器这个组件需要[ELF 运行器](/concepts/components/v2/elf_runner.md)。 -**_这是一个功能示例!_** +**_This is an example of a capability!_** diff --git a/get-started/_common/intro/_components_organization.md b/get-started/_common/intro/_components_organization.md index a088092f..75e1202c 100644 --- a/get-started/_common/intro/_components_organization.md +++ b/get-started/_common/intro/_components_organization.md @@ -1,28 +1,37 @@ -## Component organization + +## 组件架构 -All components in the system are composed into a single rooted + +系统中所有组件组成一棵单根**组件实例树**。这棵树结构控制着组件行为的几个重要方面。 -![Tree diagram illustrating how component instances are organized. These parent + +![树图展示了组件实例是如何组织的。这种父子结构控制组件行为的几个方面。] (/get-started/images/intro/component-organization.png){: width="712"} -Parent components in the tree are responsible for creating instances of + +树中的父组件负责其子组件的创建并提供必要功能。与此同时,子组件向父组件公开功能。子组件可通过如下方式之一创建: -* **Statically**: The parent declares the existence of the child in its own + +* **静态创建** 父组件在自身组件声明中声明子组件。 +* **动态创建** 父组件在运行时通过 `fuchsia.component.Realm` 协议将子组件添加到组件集中。 -Any parent component and all its children form a group within the tree called + +任何一个父组件和它所有子组件在树中形成一个称之为**领地**的组,领地使父组件可以控制哪个功能流可以进出组件子树, +以此建立一个功能边界。组件自行决定是否通过 `expose` 关键字暴露其功能给领地外部: ```json5 expose: [ @@ -33,8 +42,9 @@ expose: [ ], ``` -Once a capability is exposed to the realm, the parent can share it with other -components within the same realm. This is done using the `offer` keyword: + +一旦功能暴露到领地之中,父组件可以将其分享给领地内的其它组件。这可以通过使用 `offer` 关键字达成: ```json5 offer: [ @@ -45,21 +55,25 @@ offer: [ ], ``` -[Component manager][glossary.component-manager] is responsible for resolving + +[组件管理器][glossary.component-manager]负责解析与功能提供者之间的访问请求(如目录或协议)。 +这就是**功能路由**。组件管理器只能解析那些在领地内**公开**和**提供**的功能。 -![Diagram showing how components share capabilities through + +![组件如何通过“功能路由”共享功能的图示,“功能路由”描述了资源如何在特定领地内变得可用。] (/get-started/images/intro/capability-routing.png){: width="614"} [glossary.component-manager]: /glossary/README.md#component-manager