领域

蓝牙

主要:jamuraa@google.com
次要:silberst@google.com

用于通过蓝牙进行管理和通信的一组 API。这包括连接对等设备、搜索设备、通告本地设备,以及通过蓝牙配置文件进行通信或互动。通常,在建立连接后,蓝牙功能将通过其他部分中的 API 公开,并且此 API 仅公开用于连接、管理发现和配对的界面以及低功耗协议(这些协议通常是每个设备自定义的协议)。

通常,特定蓝牙配置文件会为系统服务提供用于状态和控制的 API。

例如:

组件框架

主要:geb@google.com
次要:ypomortsev@google.com

一组用于定义组件、与组件交互以及与组件框架集成的 API。这些是用于与组件框架进行交互的低级 API - 在某些情况下,开发者可以直接使用它们,但它们也可以用于构建更高级别的 API,例如会话框架。

例如:

开发者

主要:wilkinsonclay@google.com
次要:chaselatta@google.com

开发者工具界面,例如命令行工具评分准则。影响开发者在主机环境中的体验(例如调试、取证或开发套件)的 API。

诊断

主要:crjohns@google.com
次要:miguelfrde@google.com

一组 API,用于从系统上的组件发布和查询诊断数据。这包括流式传输日志、查看和发布检查数据以及观察生命周期事件

例如:

驱动程序

主要:cja@google.com
次要:jocelyndang@google.com

用于与各种驱动程序进行通信的一组 API,这些驱动程序与硬件或其他驱动程序进行交互。可以使用 devfs 路径(例如 /dev/class/<protocol the device exposes>/<incremental number>)打开设备来访问该 API。

驱动程序公开的大多数 API 都位于 fuchsia.hardware.* 命名空间中。

其他 API 分布在驱动程序要处理的相应区域(例如蓝牙、WLAN、图形、HCI)下。虽然这些 API 不在 fuchsia.hardware.* 命名空间下,但它们可能会与硬件或其他与硬件交互的驱动程序交互。

例如:

驱动程序 SDK

主要:jocelyndang@google.com
次要:cja@google.com

用于通过驱动程序管理器与设备进行交互的一组 API。开发者可以使用此方法检索设备相关信息或更改其当前状态。

例如:

“Experiences”(影片辑)

主要:chaselatta@google.com
次要:ianloic@google.com

一组用于创建用户体验的 API。其中包括有助于多件产品中常见的用户互动的一组 API。

例如:

FIDL

主要:ianloic@google.com

由于大多数 API 都是以 FIDL 表示的,因此 FIDL 领域是交叉的,目标是支持所有其他领域,并利用其经验为 FIDL 语言和生态系统的未来发展方向提供指导。

固件

主要付款方式:dpursell@google.com

固件启动 Zircon 所需的小型库集,例如 ZBI 映像处理、A/B/R 启动元数据、启动时验证。从本质上讲,这定义了有关引导加载程序如何与 Zircon 通信的协定。

由于固件在 Fuchsia 之外运行,因此这通常不适用于 Fuchsia 最终开发者,而是用于在新平台上启动 Fuchsia。这些库共同构成“固件 SDK”,然后该 SDK 会移植到特定平台的固件代码库。

例如:

外部 ABI 兼容性

主要:lindkvist@google.com
次要:qsr@google.com

一组 API,用于运行针对其他操作系统编译的程序并与之交互。

目前,这涵盖 Starnix(Linux 二进制文件兼容性)API。

例如:

图形

主要:jbauman@google.com
次要:dalesat@google.com

用于在系统上传输和合成图像的一组 API。它包含用于与图形硬件通信的接口,以及 View 与系统其余部分之间的场景图通信(不包括视图等更高级别的概念,请参阅视图系统部分)。

例如:

HCI

主要:quiche@google.com
次要:neelsa@google.com

涵盖输入、无障碍功能和国际化。

这组 API 连接人机交互 (HCI) 设备,从驱动程序,到过滤、语义理解、分组、路由,再到将这些输入提供给视图系统。其中包括与触摸、鼠标、键盘、文本编辑和无障碍功能框架相关的 API。

例如:

身份

主要

用于管理用户帐号、身份验证和身份信息的 API 集。

例如:

内核

主要:cpu@google.com
次要:abarth@google.com

Fuchsia 内核,其 API Surface 如下:

媒体

主要:dalesat@google.com

用于捕获、处理和渲染音频流及视频流的一组 API。 媒体 API 还包括相邻的问题,例如音量控制和媒体会话管理。

例如:

指标

主要:camrdale@google.com

一组 API,允许客户端记录与指标关联的事件。这些事件会在设备外收集,然后可以在许多设备上分析。

例如:

网络堆栈

主要:brunodalbo@google.com

在 Fuchsia 中支持网络的一组 API。包含可驱动网络的数据、控制平面和管理层面的 API,从与设备驱动程序的合同到辅助应用级协议服务,不一而足。

例如:

电源

主要:mbrunson@google.com

用于集中式电源和散热的一组 API,包括系统电源状态控制、电源依赖项管理以及温控调频。此外,还包括电力交付的各个方面,例如电池管理。

自然地与电源/散热相关驱动程序和子系统专用电源管理 API 上的其他 API 领域重叠。在可行的情况下,对重叠 API 的所有权将交由其他 API 领域负责,电源区域以咨询角色运作。

例如:

产品组装

主要:aaronwood@google.com
次要:awolter@google.com

一组 API,用于将来自各种来源的软件组合成可刷写、可更新的产品映像。产品组装会涉及:

  • 组装时产品/平台接口,可让产品所有者指定应如何针对特定产品配置平台。
  • 关于如何为汇编工具指定汇编输入工件的协定,以便为给定的产品 build 组装一组正确的工件。

安全性

主要

用于直接与安全功能(例如加密密钥管理)或工具(例如模糊测试工具)交互的一组 API。

例如:

会话

主要:ypomortsev@google.com

一组 API,用于协调产品的用户体验。具体而言,该 API 包含用于与会话组件通信的协议。

会话 API 通常使用在平台其他区域中定义的协议和数据结构。例如,GraphicalPresenter 未定义自己的视图类型。 而是使用视图系统中的 ViewRef 来识别组件视图。

例如:

软件交付

主要:kevinwells@google.com
次要:etryzelaar@google.com

Software Delivery 团队负责管理 Fuchsia 设备的软件包和更新。

存储

主要:csuter@google.com

Storage 是以下 API 的组合:

  • fuchsia.io

    介绍 Fuchsia 上服务发现、文件系统访问和功能共享的常见方法。

    客户端主要用于与文件系统进行交互,其中客户端可以是系统中需要访问文件系统中的文件/目录的任何组件/进程。

  • fuchsia.fshost

    用于查找块设备,启动文件系统进程以服务这些块设备,并将这些文件系统的句柄提供给 Fuchsia 的其余部分。

  • 文件系统专用 API,用于特定于文件系统的操作。

    例如:

  • fuchsia.fs,负责为文件系统提供管理功能。

测试

主要:crjohns@google.com

负责执行、观察和返回在设备上执行的测试的结果的一组 API。这些 API 对不同的测试框架和工具进行抽象化处理,以提供用于测试 Fuchsia 上的用例的 FIDL 接口。

例如:

工具链

主要:mcgrathr@google.com

没有说明。

查看系统

主要:neelsa@google.com
次要:quiche@google.com

需要对视觉区域(“视图”)及其生命周期进行推理并与之交互的一组 API。它们通常与特定的图形表示无关,但有些与图形 API 有着密切的联系。HCI API 是基于 View 系统构建的。

例如:

虚拟化

主要

虚拟化是以下各项的组合:

  • Hypervisor,由 Zircon 内核实现,可为虚拟机提供执行环境。具体来说,它提供地址空间隔离、对内存或 IO 端口地址的访问以及虚拟 CPU 的管理。
  • 虚拟机管理器,它使用 Hypervisor 提供完整的虚拟机,供操作系统在其中运行。这包括硬件的模拟以及操作系统本身的加载和执行。它在虚拟机中运行的客机操作系统与主机操作系统中的服务(例如存储、网络和图形)之间架起了一座桥梁。

Web

主要:wez@google.com
次要:ianloic@google.com

Web 包含可与标准网络协议(例如 HTTP、HTTP2)、内容类型(例如 HTML)和应用运行时技术(例如 JavaScript、WebAssembly)搭配使用的 API。功能接口(例如 fuchsia.web fuchsia.net.http )通常会取代本来需要以库的形式捆绑到各个客户端软件包中的功能。

例如:

  • fuchsia.net.http 支持与基于 HTTP 的服务进行基本交互(例如 GET、PUT)。
  • fuchsia.url 定义了网络标准网址类型和限制。
  • fuchsia.web

    允许创建组件实例来托管使用标准网络技术(HTML、JavaScript 等)创建的内容。这些库的使用方式与进程内网页渲染库类似,优势在于与调用方应用进行更强的隔离。

    Chromium 项目提供的实现作为预构建软件包包含在 Fuchsia 代码库中。

WLAN

主要:silberst@google.com
次要:jamuraa@google.com

没有说明。