Wie funktionieren Webhooks?
Der einfachste Weg, Webhooks zu verstehen, ist, ihre Funktionsweise zu untersuchen.
Jeder Webhook hat einen programmierten Trigger. Dieser Trigger könnte ein neuer Benutzer oder eine neue Benutzerin sein, der oder die auf eine Schaltfläche klickt. Er könnte eine Tageszeit sein. Er könnte eine Aktion sein, z. B. die Eingabe einer URL das Drücken der Eingabetaste. Er könnte fast alles sein.
Wenn das Ereignis eintritt oder die Aktion ausgeführt wird, erkennt der Webhook das und er wird gestartet und ausgeführt, wobei eine beliebige Anzahl von Aufgaben ausgeführt wird, die dem jeweiligen Ereignis oder der jeweiligen Aktion zugeordnet sind.
Denke daran, dass es bei diesen Aufgaben um Kommunikation geht. Webhooks eignen sich also hervorragend zum Herunterladen oder Hochladen von Datenaktualisierungen in oder von einem externen System, wenn ein Trigger ausgelöst wird.
Ein Webhook könnte zum Beispiel so entworfen sein, dass er das Wetter lädt. Die App ist dafür verantwortlich, das Wetter anzuzeigen und auf deine Aktion zu reagieren.
Wenn du die App öffnest, muss sie jedoch die neuesten Push-Daten von einem Webdienst herunterladen, um sicherzustellen, dass die Daten aktuell sind.
In diesem Beispiel ist das Öffnen der App der Trigger. Im Anschluss an das jeweilige Ereignis beginnen Webhooks dann mit der Weiterleitung von Datenanfragen, um deine App mit dem Webserver zu verbinden, und laden dann alle erforderlichen Daten herunter, um die Inhalte externer Apps zu aktualisieren.
Auf diese Weise erhältst du Wetterberichte in Echtzeit, auch wenn dein Telefon (oder ein anderes Gerät) kein Thermometer oder Windmesser enthält.
Vorteile der Verwendung von Webhooks
Der Schlüssel zur Verwendung von Webhooks ist, dass Echtzeitdaten nicht hin und her verschoben werden. Der Datenfluss erfolgt in eine Richtung. Das kann Aufgaben vereinfachen, die nicht von datengesteuerten Antworten abhängen.
Das macht Webhooks in Bezug auf Kommunikation und Dateneffizienz schneller und effizienter. Sie verbrauchen weniger Strom und nicht so viele Daten wie Geräte mit Zähler.
Diese Einfachheit kann dazu beitragen, dass eine App schneller läuft und weniger Ressourcen verbraucht. Außerdem erleichtert sie die Programmierung des Webhooks deutlich. Im Grunde genommen ist weniger mehr. Wenn du nichts brauchst, das über das hinausgeht, was der Webhook leistet, optimiert er wahrscheinlich deine Prozesse.
Was ist eine API?
API steht für Application Programming Interface (Anwendungsprogrammierschnittstelle) und ist auch für die Ausführung von Aktionen konzipiert. Webhooks basieren auf Triggern und der Datenfluss erfolgt in eine Richtung. Bei APIs dreht sich jedoch alles um Zwei-Wege-Kommunikation.
Der Sinn einer API ist, dass sie die Kommunikation in beiden Richtungen stabil bleibt. Daher können die Aktionen, die auf APIs basieren, von bestimmten Bits neuer Daten abhängen, die eine Quelle empfängt.
APIs können größere Datenmengen, komplexere Kommunikation zwischen Geräten und kompliziertere Funktionen verarbeiten. All dies ergibt sich aus dem Kommunikationsdesign von APIs und ihrer Funktionsweise.
Wie funktionieren APIs?
APIs sind wie eine Softwareschicht zwischen einer App und einem Webserver. Jemand nutzt die App und führt eine Aktion aus, die Daten vom Server abruft. Das löst die API aus, die die Kommunikation dann je nach Bedarf steuert, unabhängig davon, was du tust.
Nehmen wir an, du spielst ein Battleship-Spiel mit einer anderen Person über eine App auf deinem Handy. Wenn du einen Schritt machst, muss die App die andere Person über diesen Schritt informieren. Die API wird ausgelöst, damit du neue Daten vom Server senden und empfangen kannst und du und die andere Person Änderungen im Spiel sehen könnt.
Webhooks vs. API
Da wir die Grundlagen bereits geklärt haben, stellt sich nun die Frage, was die wichtigsten Ähnlichkeiten und Unterschiede zwischen APIs und Webhooks sind. Du weißt bereits, dass sie sich in der Kommunikationsrichtung unterscheiden, aber das ist nur der Anfang.
Ähnlichkeiten
Sowohl APIs als auch Webhooks sind so konzipiert, dass sie Daten zwischen einer App und einem Server senden. In beiden Fällen triggert etwas das Kommunikationstool und sendet Daten für eine beliebige Funktion.
Das kann das Hochladen und/oder Herunterladen von Daten sein. So empfangen beispielsweise Apps die erforderlichen Daten von einer Website. Die Art und Weise der Kommunikation ist ebenfalls sehr ähnlich. Sie verwenden dieselben Protokolle, um Verbindungen herzustellen und Daten zu senden.
Die Ähnlichkeit ist sogar so groß, dass es viele Szenarien gibt, in denen man darüber diskutieren könnte, welches Tool für webfähige Kommunikation das richtige ist. Das ist nämlich nicht immer eindeutig.
Unterschiede
Die Unterschiede überwiegen jedoch. Ein Webhook lädt Daten hauptsächlich bei einem bestimmten Trigger hoch oder herunter, macht aber nicht unbedingt beides. Eine API ist wiederum speziell für die Aufrechterhaltung der Kommunikation konzipiert.
Webhooks können daher komplizierte Datenströme nicht auf die gleiche Weise verarbeiten wie APIs. Das schränkt Webhooks in gewisser Weise ein. Eine intensive Zwei-Wege-Verschlüsselung ist für Webhooks beispielsweise sehr schwierig, daher sind sie nicht die beste Wahl für sichere Kommunikation oder das Senden sensibler Daten.
Aber die Fähigkeit von APIs, komplizierte Dinge zu tun, ist ein zweischneidiges Schwert. Sie verbrauchen in der Regel mehr Ressourcen als Webhooks und sind bei ähnlichen Aufgaben langsamer.
Faktoren, die bei der Wahl zwischen API und Webhooks zu berücksichtigen sind
Nachdem du nun mehr über die Ähnlichkeiten und Unterschiede zwischen Webhooks und APIs weißt, können wir darüber sprechen, wofür du dich in bestimmten Szenarien entscheiden solltest. Webhooks und APIs können zwar fast dieselben Aufgaben ausführen, aber erzielen je nach Umständen bessere Ergebnisse.
APIs sind robuster. Für kompliziertere Kommunikation sind sie das Tool der Wahl.
Darüber hinaus können dir drei zusätzliche Faktoren dabei helfen, eine Entscheidung zwischen Webhook und API zu treffen: die Art der Kommunikation, Latenzanforderungen und Sicherheit.
Art der Kommunikation
Das ist der Wichtigste Faktor beim Vergleich von Webhooks und APIs. Wie erfolgt die Kommunikation?
Webhooks können Zwei-Wege-Kommunikation bis zu einem gewissen Grad verarbeiten. Damit zwei Geräte miteinander kommunizieren können, müssen Daten in beide Richtungen fließen. Webhooks sind jedoch keine guten inaktiven Empfänger, und haben Probleme, große bidirektionale Datenfreigaben handzuhaben.
Sie sind für einfache Kommunikation konzipiert.
APIs brillieren bei Aufgaben, die Webhooks Schwierigkeiten bereiten und umgekehrt. Wenn kontinuierliche Kommunikation das Ziel ist, brauchst du eine API. So einfach ist das.
Latenzanforderungen
Wenn du die Latenz unbedingt reduzieren musst, können Webhooks helfen.
Ob sie schneller als vergleichbare APIs sind oder nicht, hängt von mehreren Faktoren ab, aber Webhooks, die für niedrige Latenz optimiert sind, übertreffen APIs, die die gleiche Aufgabe ausführen. Wenn die Latenz also von großer Bedeutung ist, solltest du die Nutzung von Webhooks erwägen.
Aber moderne APIs können auch schnell sein. Die meisten Kommunikationsanwendungen erfordern keine so niedrigen Latenzzeiten, dass unbedingt ein Webhook zum Einsatz kommen muss. Diese Art von Szenario kommt selten vor. Du solltest dich wirklich auf diesen Aspekt konzentrieren, wenn du die Geschwindigkeit deiner Website optimieren möchtest.
Sicherheitsanforderungen
Da APIs besser mit Mehrwegkommunikation umgehen können, ermöglichen sie robustere Softwareprogramme und Integrationen. Das ist die elegante Art zu sagen, dass sie kompliziertere Aufgaben in Bezug auf die Kommunikation ausführen können.
Infolgedessen können sie erweiterte Sicherheitsprotokolle unterstützen, sodass APIs in Bezug auf die Sicherheit der Kommunikation mehr Potenzial haben.
Das bedeutet aber nicht, dass Webhooks von Natur aus nicht sicher sind. Und es bedeutet auch nicht, dass alle APIs extrem sicher sind. Der Unterschied besteht darin, dass APIs eine höhere Sicherheitsfunktion haben. Sie sind ein leistungsfähigeres Tool für sichere Kommunikationsanwendungen, wenn sie richtig konzipiert sind, und werden daher häufig zur Abwicklung von Online-Transaktionen verwendet.
Triff die richtige Wahl für dein Unternehmen
Eine App kann für einige Aufgaben Webhooks und für andere APIs verwenden. Alles hängt vom Design ab.
Wenn du Zugriff auf jedes Tool möchtest, das du für deine Apps, Websites und andere digitale Ressourcen benötigst, solltest du dich für Mailchimp entscheiden.
Die API-Ressourcen von Mailchimp sind robust. Du kannst uns noch heute kontaktieren, um deine Optionen zu erkunden und die Interaktion mit Online-Tools zu erweitern. Du kannst dir den kostenlosen API-Kurs von Mailchimp ansehen, um einen tieferen Einblick in diese Themen zu erhalten.