17 个稳定版本 (5 个主要版本)

125.0.1 2024年3月28日
123.0.1 2024年2月1日
122.0.2 2024年1月11日
120.0.2 2023年11月29日
96.4.0 2023年1月31日

#58 in 电子邮件

598 星 & 48 关注者

MPL-2.0 许可证

4KB
80

Firefox 应用程序服务

应用程序服务 (a-s) 是一组用于使 Firefox 应用程序能够与 Firefox 账户、同步、实验等功能集成的 Rust 组件。每个组件都使用 Rust 编写的核心共享代码构建,并通过针对不同平台的本地语言绑定进行封装。

贡献

要贡献力量,请查阅 Mozilla 的 社区参与指南,然后访问我们的 如何贡献 指南。

联系

通过 Matrix 或 GitHub 上的问题与社区成员取得联系。

文档

高级文档

《应用服务手册》包含关于此存储库代码的高级文档。它由./docs/目录构建。

打包文档

我们使用rustdoc来文档化组件的公共API和各种内部实现细节。您可以在https://mozilla.github.io/application-services/book/rust-docs/fxa_client/index.html上查看它们。完成构建步骤后,您可以通过运行以下命令来查看文档:

cargo doc --no-deps --document-private-items --open

构建

构建Rust组件

  1. 克隆或下载存储库
  $ git clone https://github.com/mozilla/application-services # (or use the ssh link)
  $ cd application-services
  $ git submodule init
  $ git submodule update --recursive
  1. 按照以下说明安装您的系统级依赖项
  2. 运行a-s Rust单元测试
cargo test

消费者构建、集成和测试

application-services库的主要消费者是Fenix(Android上的Firefox)和Firefox iOS。确保您能够通过遵循构建Android和iOS集成的说明来运行集成测试(如果使用MacOS,则为Android和iOS)。

Android集成构建和实用工具

Firefox for iOS集成

Firefox桌面版

Rust组件

./components/包含每个组件的源代码。请注意,大多数组件的FFI都是由uniffi库生成的。

组件列表

  • autofill - 用于存储和同步信用卡和地址信息
  • crashtest - 测试目的(使Rust代码崩溃)
  • fxa-client - 用于需要使用FxA登录、访问同步加密密钥等的应用程序
  • logins - 用于存储和同步用户的保存登录凭据
  • nimbus - 用于与Mozilla的Firefox实验平台集成
  • places - 用于存储和同步用户的保存浏览历史记录
  • push - 用于应用程序通过 WebPush 接收实时更新
  • support - 低级实用库
  • sync15 - 访问 Firefox Sync 中数据的共享库
  • sync_manager - 将多个同步引擎/存储集成到一个单一框架中
  • tabs - 用于远程浏览器标签页的内存同步引擎
  • viaduct - HTTP 请求库
  • webext-storage - 驱动 chrome.storage.sync WebExtension API 的实现

注意,上述列表不完整;请参阅 components 目录下的实际列表。

依赖项

~1.7–3MB
~83K SLoC