~/talk

Powering Modularization at Airbnb: Plugin Architecture

Talkat droidcon SF 2019 · 2019-11-18..11-19· [android, frontend-architecture]
links:none on file
slides:none on file

Airbnb implements a plugin architecture that combines an annotation processor with Dagger multibindings and a Scabbard intermediate generator so modules can contribute to runtime collections without direct dependencies. The system generates boilerplate (via a Ruby scaffolding script), enforces rules as compile errors (module types, allowed dependencies), and surfaces IDE find-usages. Deployed in 2019 after a 2018 vision, it reduces Dagger gotchas, cuts developer setup friction, and scales to hundreds of modules in production.

AI-written summary · about

  1. 0:00Introduction
  2. 1:56Benefits of modularization
  3. 3:17Build speed and caching
  4. 4:00Dependency management challenges
  5. 5:31Interface polymorphism solution
  6. 7:22Enabling contributor setup
  7. 9:11Module type rules and constraints
  8. 12:01Dagger multi-binding demo
  9. 13:51Custom annotation processor
  10. 15:30Unified Dagger system
  11. 17:41Plugin system use cases
~/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.