~/talk

Everything is an API

Talkat droidcon Berlin 2021 · 2021-10-20..10-22· [api-design, software-architecture]
slides:none on file

Argues that every module is an API so treat internal code like public contracts, showing Kotlin techniques (suspend functions, infix notation, interface delegation, factory constructors) and concrete annotations to manage risk: @RequiresOptIn, @Deprecated(replaceWith=...) and visibleForTesting/visibleForModule. Recommends Gradle build cache and Gradle Build Scan to shrink incremental build times but warns misconfiguration breaks compilation avoidance. Demonstrates coroutine library pattern exposing a minimal interface via a factory and insists small API surfaces, private implementations, and self‑documenting names reduce bugs and long‑term maintenance.

AI-written summary · about

  1. 0:00Introduction and welcome
  2. 1:06What is an API
  3. 3:35APIs in the entire stack
  4. 6:03Good code and API decisions
  5. 10:58Code smell and naming
  6. 15:51Interface composition and Kotlin
  7. 17:16Democratizing API decisions
  8. 18:20Modularization and Gradle
  9. 21:06Annotations for risk management
  10. 23:33Conclusion and further reading
~/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.