Modularisierung, API Design & Domain-driven Design – mit diesem Themen-Mix geht der MAD-Summit an den Start. Vom 28. – 30. November 2022 können IT-Profis über 20 Workshops in Berlin besuchen – auch eine reine Online-Teilnahme ist möglich. Einen kleinen Vorgeschmack geben die Trainer Thilo Frotscher, Thomas Kruse, Lars Röwekamp und Arne Limburg am 6. Oktober hier auf entwickler.de auf dem MAD-Morning: Vier spannende Sessions stehen allen entwickler.de-Fullstack-Abonnenten zur Verfügung. Wir haben vorab mit Thilo Frotscher über sein Themengebiet API-Design gesprochen.
Dein Thema am MAD Morning ist API-Design für HTTP-Schnittstellen. Was interessiert dich dabei persönlich besonders?
Thilo Frotscher: Ich persönlich finde es unheimlich spannend zu beobachten, wie viele APIs in den vergangen Jahren für die unterschiedlichsten Einsatzgebiete entstanden sind. Bei genauerem Blick auf einzelne Schnittstellen kann man mit geübtem Auge dabei recht schnell deutliche Unterschiede im API Design feststellen. Es finden sich sowohl gut designte APIs, als auch zahlreiche Negativbeispiele, die nicht so gut gelungen sind. Gleichzeitig entdeckt man jedoch auch immer wieder clevere neue Ideen für die Umsetzung wiederkehrender Anforderungen.
APIs sollten eine gute Developer Experience für API-Nutzer bieten.
Wo genau liegen die Herausforderungen aus deiner Erfahrung, wenn man eine Http-Schnittstelle bereitstellen will?
Thilo Frotscher: Es gibt zahlreiche Herausforderungen. Die API sollte leicht benutzbar und verständlich sein, gute Namen für URL-Pfade und Datenattribute verwenden und in sich konsistent sein. Darüberhinaus sollte man darauf achten, dass die API leicht erweiterbar ist und idealerweise einigen Best Practices folgt, um den Einstieg zu erleichtern und eine gute sogenannte Developer Experience für API-Nutzer zu bieten. Natürlich ist auch Sicherheit ein ganz zentraler Aspekt, der aber nicht primär mit dem API Design zusammenhängt.
Gibt es offizielle Standards zum API-Design? Oder hat man es eher mit inoffiziellen Best Practices zu tun?
Thilo Frotscher: Es gibt tatsächlich mindestens einen offiziellen Standard, der allerdings nur in bestimmten Umgebungen bekannt und verbreitet ist, andernorts jedoch wenig Begeisterung auslöst. Darüber hinaus gibt es aber wie erwähnt eine ganze Reihe von Best Practices und guten Design-Vorlagen, an denen man sich orientieren kann.
API-Entwicklung sollte kein Schnellschuss sein.
entwickler.de: Mit welchem Take-away sollten die Zuschauer aus deiner Session herausgehen?
Thilo Frotscher: Die wichtigste Erkenntnis sollte sein, dass API-Entwicklung kein Schnellschuss sein sollte. Denn dies würde sich mittelfristig in den meisten Fällen rächen. Stattdessen ist es für die allermeisten Einsatzzwecke ausgesprochen sinnvoll, sich einige Gedanken über die Gestaltung einer API zu machen. Mit etwas Erfahrung muss das nicht einmal sehr viel Zeit in Anspruch nehmen. Im Zweifelsfall ist es immer empfehlenswert, einen Experten mit ausreichend Erfahrung heranzuziehen, der beim API Design unterstützt oder einen Review für ein bestehendes Design durchführt.
entwickler.de: Vielen Dank für dieses Interview!