Overview
Learn patterns and strategies for evolving APIs without relying on versioning in this 49-minute conference talk from InfoQ. Explore practical approaches to API evolution, including change by addition, multi-typing, and nested upcasting, while understanding the tradeoffs between API elegance, obviousness, and stability. Follow along as Brandon Byars demonstrates these concepts through a cruise booking example, examining contract specifications, complex API evolution, and implementation considerations from both provider and consumer perspectives. Gain insights into critical aspects like breaking hidden interfaces, Hyrum's Law, and how API evolution intersects with product management concerns. Master techniques for maintaining API compatibility while adding new functionality, and understand when breaking changes are truly necessary in your API design journey.
Syllabus
Intro
Booking a cruise
Contract specifications as promises
Following the evolution of a complex API
Evaluating options from a consumer's perspective
Change by addition
Multi-typing
Isn't that a breaking change?
Nested upcasting
Implementing nested upcasts
Implementing downcasting
Breaking hidden interfaces
Hyrum's Law
API evolution is a product management concern
Product tradeoffs
Taught by
InfoQ