• Grey Facebook Icon
  • Grey Twitter Icon
  • Grey YouTube Icon

Droidcon is a registered trademark of Mobile Seasons GmbH

Powering Modularization at Airbnb: Plugin Architecture

Adell Hanson-Kahn

Software Engineer (Android)

Airbnb

Adell is an Android engineer at Airbnb on the Native Infrastructure team.

Abstract

At Airbnb we prize modularization for helping us to drive code ownership and decrease build times. Unfortunately, these benefits also bring increased complexity and boilerplate. Our Plugin architecture which, using an annotation processor and Dagger's multibindings, allows us to reduce those costs and capture some additional benefits. Some of these are: a single source of truth for a plugin/plugin point; abstracting away Dagger gotchas; adding our own compile-time enforcements; and getting some additional value out of the IDE (eg find usages for all plugins contributing to a plugin point). We introduced the architecture in our 2018 vision and implemented it this year, 2019. This talk will go over the benefits, listed above, and how the tooling works.

Intermediate

Lightning talk

WHITE