Overview
Explore the art of building effective Java APIs in this 48-minute Devoxx conference talk. Gain insights from Jonathan Giles, a seasoned Java API developer with over 10 years of experience at Sun Microsystems, Oracle, and Microsoft. Learn essential do's and don'ts for creating robust, user-friendly APIs for internal use, open-source projects, or commercial libraries. Discover key concepts such as API design principles, maintaining compatibility, creating excellent documentation, and practicing restraint. Delve into topics like API characteristics, contract obligations, version management, consistency, developer empathy, and team consensus. Explore practical tips on static factories, minimizing API surface, intentional inheritance, handling dependencies, and leveraging Java language features. Gain valuable knowledge on best practices, including avoiding null returns, proper use of Optional, understanding boxing, and utilizing java.util.function. Enhance your Java API development skills and learn to create APIs that empower other developers to build upon your work effectively.
Syllabus
Intro
What is API Design?
API Characteristics
API is a Contract
The Journey to 1.0.0
Justify Everything
Consistency
Developer Empathy & Gut Feeling
Documentation
Team Consensus
Generated APIs
Effective Java 3d Edition
Static Factories
Minimise API
Intentional Inheritance
Minimise Exposing External Dependencies
Don't Return null
Understand When To Use Optional
Beware of Boxing
Become Familiar with java.util.function
YouTube
Azure for Java Developers
Free Azure Tier
Tip: Builders Constructor Telescoping
Tip: Support Lambdas
Taught by
Devoxx