Everything is an API
summary
Argues that every module should be treated as an API with concrete rules: prefer interfaces and composition, use internal visibility and Kotlin features (suspend, delegation), document behavior with unit tests, and annotate deprecated or experimental surfaces so clients can migrate. Shows tooling and measurements: gradle build cache and incremental compilation materially cut build time when modules and dependencies are aligned, and suggests Gradle Enterprise scans to find regressions. Gives concrete patterns and pitfalls rather than vague design platitudes.
AI-written summary · about
chapters (35)
- 0:00Introduction
- 2:00What is API
- 2:45What is an API
- 3:30API Example
- 4:25API Communication
- 4:55API Tiers
- 5:25API Review
- 5:55Software Development Kit
- 6:25Internal vs Public APIs
- 7:20Key Benefits
- 7:50Slow Feature Delivery
- 8:35Technical Debt
- 10:25Good Code
- 11:45abstraction
- 12:25interfaces
- 14:00documentation
- 15:35code smell
- 17:45naming
- 18:00meaningful naming
- 19:10internal keyword
- 20:55bad examples
- 22:35meaningful interface naming
- 23:10impure functions
- 23:55interface composition
- 24:40interface abstraction
- 26:30democratising API decisions
- 27:40modularization
- 28:25modernization concurrency
- 29:05Gradle build cache
- 29:55Gradle pitfalls
- 30:55We are all human
- 33:35Decision paralysis
- 34:05Conclusion
- 34:50Unquote
- 35:05Explicit mode
related talks
30mEverything is an API
40mModularizing Android Applications
30mFrom futons to functions: the principles of good API design
20mBreaking Down Modularization
24mProviding a childcare service for your API
54mBreaking Down Your Build: Architectural Patterns For A More Efficient Pipeline
37mA Complete Journey of Android Modularisation
01h 28mApps at Scale: An Industry Discussion
