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.