~/talk

Leveraging Rust to build cross-platform mobile libraries

Talkat Rusty Days 2020 · 2020-07-27..08-02· [rust]
slides:none on file

Mozilla rebuilds its telemetry SDK as a Rust core called glean core, compiles it for ten targets (including four Android ABIs) and integrates it with six languages via C FFI, cbindgen and tooling like ffi-support and the rust-android-gradle plugin. The team handles strings, enums, handles and cross‑thread safety, statically links C deps, runs CI to produce multi‑platform artifacts, and ships it to Android and iOS now with desktop integration underway — the system is live in Firefox Android and proves the approach works.

AI-written summary · about

  1. 0:00Intro
  2. 2:01Firefox Telemetry
  3. 2:34Metric Time spent running the JS GC
  4. 4:08Lean Data Practices
  5. 6:29Firefox for Android
  6. 8:51Telemetry API in Firefox Desktop
  7. 14:06New Telemetry requirements
  8. 15:39Glean SDK stack
  9. 17:00Glean Core A Rust crate
  10. 18:07Metrics implemented as Rust types
  11. 18:38Glean FFI the connection
  12. 20:54Getting called from C
  13. 25:14ffi-support: Ffistr A safe wrapper around a null-terminated string.
  14. 29:10Glean targets
  15. 32:05Hello World with JNI Java
  16. 34:16Hello World with JNA
  17. 35:07Building a Cargo project using Gradle apply plugin: 'org.mozilla.rust-android-gradle rust-android cargo module
  18. 36:18Other Glean implementations
  19. 39:53Challenges of developing cross- platform Rust
  20. 40:35Data types: Numbers
  21. 42:49Data types: Strings
  22. 46:41Data types: Enums with data
  23. 51:55Optimizer: R8
  24. 53:46Extra libs
  25. 57:52Future: Component Interface Definition
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.