Firefox Application Services
Перейти к файлу
Vlad Filippov 260ced00c8
Add strace docs to fxa-dev
2019-03-18 14:00:40 -04:00
.circleci Fix up Carthage binary zip filename 2019-03-07 14:29:04 -05:00
.github
automation Generate and upload breakpad symbols for Android 2019-03-18 13:07:54 -04:00
build-scripts Don't build iOS as release by default 2019-03-18 09:29:10 -07:00
components Make ffi_support unwind-safe by default 2019-03-18 10:47:16 -07:00
docs Add strace docs to fxa-dev 2019-03-18 14:00:40 -04:00
gradle/wrapper
gradle-plugin Release v0.20.0 2019-03-14 13:42:59 -07:00
libs Generate and upload breakpad symbols for Android 2019-03-18 13:07:54 -04:00
megazords Don't build iOS as release by default 2019-03-18 09:29:10 -07:00
samples/sandvich-ios
testing/sync-test
website
xcconfig
.gitignore Generate and upload breakpad symbols for Android 2019-03-18 13:07:54 -04:00
.taskcluster.yml Generate and upload breakpad symbols for Android 2019-03-18 13:07:54 -04:00
CHANGELOG.md Bump version to 0.20.2 2019-03-18 10:00:33 -07:00
Cargo.lock Remove explicit dependencies on serde, prost, serde_json from ffi_support since they're only needed in macros, meaning we can just use the ones in the crate in question 2019-03-18 10:47:16 -07:00
Cargo.toml feat: Add FFI Descriptors and integrate Push Component into Kotlin 2019-03-05 16:29:09 -08:00
Cartfile
LICENSE
README.md
build-carthage.sh Fix up Carthage binary zip filename 2019-03-07 14:29:04 -05:00
build.gradle Bump version to 0.20.2 2019-03-18 10:00:33 -07:00
gradle.properties Publish all Maven artifacts to a single bintray package. 2019-03-15 16:00:34 -07:00
gradlew
gradlew.bat
proguard-rules-consumer-jna.pro
publish.gradle Publish all Maven artifacts to a single bintray package. 2019-03-15 16:00:34 -07:00
settings.gradle feat: Add FFI Descriptors and integrate Push Component into Kotlin 2019-03-05 16:29:09 -08:00

README.md

Firefox Application Services

A platform for building cloud-powered applications that target Firefox users

What's this all about?

This repository hosts the code and docs needed to integrate with the products offered by the Firefox Application Services team.

If you're interested in getting involved in the development of those products then you're in the right place! Please review the more detailed guide on how to contribute to this project as well as the Community Participation Guidelines.

If that's not why you're here, then instead you might enjoy:

Overview

This repository is used to build client-side libraries for integrating with Firefox Application services such as Firefox Accounts, Firefox Sync and Push. Each of these is called a "component" and is built using a core of shared code writen in Rust, wrapped with native language bindings for different platforms.

The end result is an application that can be assembled from re-usable components that are largely shared across platforms, like this:

The code for these components is organized as follows:

For more details on how the client libraries are built and published, please see the Guide to Building a Rust Component.

This repository also hosts the website source for the Application Services Product Portal, which provides consumer-facing documentation on how to integrate with various Application services products.

The ./docs/ directory holds intenal documentation about working with the code in this repository, and is most likely only of interest to contributors.

Components

The currently-available Rust Components in this repo are:

  • fxa-client - for applications that need to sign in with FxA, access encryption keys for sync, and more.
  • sync15 - shared library for accessing data in Firefox Sync
  • logins - for storage and syncing of a user's saved login credentials
  • places - for storage and syncing of a user's saved browsing history
  • push - for applications to receive real-time updates via WebPush
  • rc_log - for connecting component log output to the application's log stream
  • support - low-level utility libraries
    • support/ffi - utilities for building a component's FFI bindings
    • support/sql - utilities for storing data locally with SQL