Martin Gross bio photo

Martin Gross

Solution seeker, building things, often in software.

Twitter LinkedIn Github

Wenn man sich mit der Entwicklung eines Application Programming Interface (API) befassen will, bekommt man in “How to Design a Good API and Why it Matters” von Joshua Bloch wertvolle Tips.

Joshua Bloch hat bei Sun eines der wichtigsten API der Java-Plattform (nämlich das Java Collections Framework ) designt und implementiert. Ausserdem stammt das Buch “Effective Java” von ihm.

Hier seien nur einige wichtige Kernaussagen aus seinem Vortrag kurz aufgezählt:

  • APIs can be among a company’s greatest assets
  • Customers invest heavily: buying, writing, learning
  • Cost to stop using an API can be prohibitive
  • Successful public APIs capture customers

  • Can also be among company’s greatest liabilities
  • Bad APIs result in unending stream of support calls

  • Public APIs are forever - one chance to get it right

Characteristics of a Good API

  • Easy to learn
  • Easy to use, even without documentation
  • Hard to misuse
  • Easy to read and maintain code that uses it
  • Sufficiently powerful to satisfy requirements
  • Easy to extend
  • Appropriate to audience

Absolut empfehlenswert die Präsentation. Die Ratschläge sind sehr umso besser nachvollziehbar, wenn man schon mal mit einem API arbeiten musste, das diesen Namen eigentlich nicht verdient hat.