Designing a Compatible API — Genius Without Villainy
summary
The talk explains how to design and evolve Java APIs to remain compatible across versions, focusing on techniques and practices for binary and source compatibility in the Java platform. It covers concrete problems such as API breakages, contract preservation, and strategies like careful interface evolution, use of deprecation, and compatibility testing to avoid introducing regressions when extending libraries.
AI-written summary · about
chapters (11)
- 0:00API compatibility intro
- 2:27Why compatibility matters
- 5:43Types of compatibility
- 10:35Constants impact
- 14:54Interface inheritance pitfalls
- 17:24Encapsulation and private fields
- 19:11Generics and type erasure
- 23:32Java compatibility future
- 27:47Java 8 features and risks
- 28:08Compatibility testing tool
- 29:15Conclusion & Q&A
related talks
51mLet's make a contract: the art of designing a Java API
44mMastering Resilient Java API Design: From Principles to Practice
27mModern Java API Design
40mFuture-Proofing Java: The Art of Crafting Resilient APIs
49mLet's make a contract: the art of designing a Java API
44mInterface Architecture in Times of Changing Frontend Technologies
45mHysterically Grown - Paths to a Stable API
23mBackward Compatibility by Default: Keeping API Consumer Trust Intact
