Latest / Coding Buddies | Tech & Dev-Mindset / Was sind eigentlich APIs?
Transcript
- 0:00Das heißt, es ist im Endeffekt auch wieder ne API.
- 0:02Geh mal mit deiner Anfrage oder Sie verrückst versichert sich
- 0:06erstmal bei Papa und frag diesen Service an und der sagt Nee
- 0:10abgelehnt Coding Body Time Podcast wohnt im
- 0:13Softwareentwicklung und aktueller Technews.
- 0:16Herzlich Willkommen. Herzlich Willkommen zur neuen
- 0:31Folge vom Coaling Buddies Podcast.
- 0:33Es ist wieder soweit, es ist Donnerstag, eine neue Folge
- 0:36steht in der Tür und damit können wir jetzt auch starten
- 0:39und in diesem Sinne begrüße ich meinen Partner hier im Podcast,
- 0:44den Tino ganz herzlich, wie geht's dir?
- 0:48Moin Fabi, ja alles super bei mir.
- 0:50Die Sonne scheint, ich habe sehr gute Laune muss ich sagen, weil
- 0:54du weißt ja wie das ist, wenn das Wetter wenn die Sonne
- 0:57strahlt, dann strahlt doch auch das innere Herz, oder wie sagt
- 1:00man irgendwie so eine Redewendung gibt es doch, wenn
- 1:03die Sonne strahlt und man drin sitzt es gibt.
- 1:06Nichts Schöneres. Es gibt nichts.
- 1:07Schöneres als Softwareentwickler als bei strahlender Sonne in der
- 1:11Bude zu sitzen und aus dem Fenster zu schauen.
- 1:14Man sieht, wie glücklich alle draußen sind und man selbst ist
- 1:16glücklich, weil man drin bleiben darf.
- 1:19Aber ich finde das wirklich. Ich finde das wirklich lustig,
- 1:22weil ich freue mich echt immer, wenn das Wetter gut ist,
- 1:25irgendwie und auch wenn ich drin sitze.
- 1:27Also ich weiß nicht schön, kennst du das also?
- 1:30Keine Fenster aufmachen. Also leider was dickes.
- 1:33Es gibt ja viele, die es da wirklich so raustreibt und ich
- 1:35mag es auch draußen, aber ich bin, muss ich ganz ehrlich
- 1:38zugeben, und das muss ich mich jetzt hier auch outen, ich hab
- 1:41kein Problem drin zu sein. Und ich find es aber trotzdem
- 1:45schön, wenn draußen dann schönes Wetter ist.
- 1:47Aber ich find es auch schön, wenn ich drin bin.
- 1:48Dann also weißt du, ich denk mir nicht so oh tolles Wetter, ich
- 1:52muss jetzt unbedingt raus weil ich denk mir so ah Mensch tolles
- 1:54Wetter, es freut mich, dass es draußen tolles Wetter.
- 2:00Ja, bei mir ist es halt auch so, dass ich mir denke, ja, ist also
- 2:03wenn ich zum Beispiel noch vorhabe, später rauszugehen,
- 2:05keine Ahnung irgendwas, selbst was banales einkaufen, Kaffee
- 2:09trinken gehen oder irgendwas freue ich mich da drauf, aber
- 2:11ich finde es nicht schlimm, dass ich aktuell noch drin sein muss.
- 2:14Sehr gut. Das ist die Richtige.
- 2:16Einstellung also das ist für mich kein Thema, weil ich kann
- 2:19ja später noch das Wetter genießen, aber es ist nicht so,
- 2:22auch wenn du jetzt zum Beispiel wir im Homeoffice arbeitest und
- 2:25die ganze Zeit rausguckst. Ich bin endlich raus.
- 2:28Habe ich auch nicht, das habe ich auch.
- 2:30Nicht das ist, das ist schon mal schön.
- 2:31Und ich hoffe, meistens ist es ja sogar kühler in meiner
- 2:34Wohnung. Man wird es kaum glauben als
- 2:36draußen, wenn es jetzt so richtig warm ist draußen und
- 2:39dann ist es doch ganz angenehm, drin zu sein.
- 2:41Sehe ich auch so und ich hoffe auch, dass liebe Zuhörer, lieber
- 2:45Zuhörer, das ist auch gerade bei dir, schönes Wetter ist.
- 2:48Und ansonsten macht die Folge einfach nochmal an, wenn schönes
- 2:50Wetter ist. Genau.
- 2:51Hören Sie einfach mehrfach, das ist gar kein Problem.
- 2:55Ok, schön offic, beendet Fabi. Hau doch mal raus.
- 2:59Was ist denn unser heutiges Thema?
- 3:01Unser heutiges Thema, Wir hatten ja letzte Woche in der Interview
- 3:05Folge mit Anthony und da ging es auch unter anderem um apis und
- 3:10da haben uns ja auch die ein oder andere Nachrichten
- 3:13erreicht. Und wir wurden gefragt, ob wir
- 3:16vielleicht einfach mal ne Folge machen können.
- 3:18Zum Thema API einfach mal allgemein, was sind Apis, wie
- 3:21funktionieren Apis? Also ich sag mal eine
- 3:24übersichtsfolge über apis. Und genauso, also so mehr auf
- 3:30sag ich mal top Level Einsteiger mäßig.
- 3:33Genau, genau. Ich hoffe nicht cool, ich hoffe
- 3:36natürlich, dass sich trotzdem jeder und jede Hörerin hier noch
- 3:38was mitnehmen kann. Ja, und wenn es nur noch mal
- 3:42Revue passieren ist oder so. Auffrischen des Wissens ist.
- 3:46Genau find ich gut. Ja, dann hau doch mal raus.
- 3:51Wie wollen wir denn starten, wie wollen wir die Sache angehen,
- 3:53hast du da schon Plan im Kopf? Ich würde mal erst mal gucken,
- 3:56dass wir uns oder dass wir betrachten, was eigentlich eine
- 4:00API an sich ist. Also wirklich so ein bisschen.
- 4:04Oberflächlich sage ich jetzt mal, dann gucken, warum es
- 4:06überhaupt sowas wie apis gibt und was es für Arten von apis
- 4:11gibt. Dann können wir weiter gucken
- 4:13und sagen okay, wie funktioniert denn überhaupt so eine API im
- 4:16allgemeinen und und vielleicht auch noch mal so.
- 4:19Dabei auch noch so Praxisbeispiele angucken und
- 4:22vielleicht können wir noch mal gucken, dass wir vielleicht ein
- 4:24paar Tipps generieren, was bei Entwicklung von apis vielleicht
- 4:28ganz nett wäre, wenn man das vielleicht auch machen würde.
- 4:32Also quasi was so Punkte sind, die eine eine schlechte API von
- 4:37einer guten API unterscheiden am Ende.
- 4:40Ja, also oder wenn wir jetzt zum Beispiel anfangen möchte und
- 4:42sagt, lass mal starten, ich möchte eine API entwickeln, wie
- 4:46fange ich da an, worauf muss ich achten, sowas in die Richtung
- 4:49können wir einfach mal improvisieren.
- 4:52Ja, da fällt uns etwas ein, genau, ich würde vielleicht mal
- 4:57ganz kurz anfangen mit. Einer gewissen allgemeinen
- 5:01Definition mal erstmal ganz richtig schön trocken, was
- 5:03überhaupt so eine API ist, damit wir jetzt auch wirklich nichts
- 5:07Falsches erzählen. Also erstmal ist eine API an
- 5:11sich, das ist ja eine Abkürzung, das steht ja für Application
- 5:14Programming Interface und das ist mehr oder weniger eine Menge
- 5:18von Regeln und Definitionen, die Halt bestimmen, wie zum Beispiel
- 5:24Softwarekomponenten miteinander interagieren.
- 5:27Also du hast verschiedene Software Systeme.
- 5:29Und die müssen irgendwie Informationen nahtlos
- 5:32miteinander austauschen können. Und das ist, sag ich jetzt mal
- 5:36im groben die Definition einer API.
- 5:41Ne, ja und? Also das heißt, du, das ist im
- 5:46Prinzip. Die Verbindungsstelle, um
- 5:51mehrere Anwendungen miteinander arbeiten lassen zu können.
- 5:55Also ich kann dir ja mal eine kleine Analogie geben.
- 5:58Ich finde Analogien, ich bin ja Fan von Analogien.
- 6:02Da muss ich meine doch kurz loswerden, weil ich stell mir
- 6:04da, also man kann sich das halt wieso ein Puzzle vorstellen, du
- 6:07hast halt so mehrere Puzzleteile und du kannst sie ineinander
- 6:10setzen und jeder, ich glaube jeder hat schon mal Gepuzzelt im
- 6:13Leben, das halt auch gewisse Puzzleteile nur zusammenpassen,
- 6:16du kannst ja nicht jedes mit jedem verbinden und insgesamt
- 6:19ergibt es denn dein Bild, sozusagen deine Gesamtanwendung
- 6:23kann man sich das glaube ich schon mal auf ganz abstrakter
- 6:25Ebene vorstellen. Also dass du sagst, du hast
- 6:27verschiedene Puzzleteile und die verschiedenen Puzzleteile sind
- 6:30verschiedene Teilsysteme innerhalb eines größeren
- 6:32Systems. OK, Mhm, ja.
- 6:34Und dann diese Nupsies, quasi die Miteinander passender.
- 6:38Das könnte dann deine AFI sein, aber kennst du dieses eine Teil
- 6:42im Puzzle was reinpasst und das stimmt aber eigentlich nicht.
- 6:45Ja genau, na ja gut, es passt ja nicht rein, sondern man denkt es
- 6:49passt. Es passt so zu 95% und man hat
- 6:53halt keinen Bock mehr und drückt es dann einfach rein und sagt
- 6:57super, da habe ich es doch glatt gefunden, aber eigentlich ist es
- 7:00doch falsch. So possible man also gar nicht.
- 7:02Ach so, ok. Gut zu wissen also ich, ich
- 7:05schneide die immer ab und klebe es dann einfach alles
- 7:08aneinander. Klassiker das ist sagt er und
- 7:11und sagt, das ist Kunst, weil man erkennt natürlich nichts,
- 7:13weil die nicht richtig sortiert, ich schneide immer, ich schneide
- 7:15immer Bilder auseinander und gebe es anderen und sage hier
- 7:17kannste puzzeln. Nein, also ich finde die
- 7:22Analogie auch nicht schlecht und wenn wir uns jetzt mal 2
- 7:25Puzzleteile angucken, wie die ineinander passen.
- 7:29Dazu würde ich, hatte ich noch eine Analogie im Kopf.
- 7:31Und zwar. Wenn du jetzt sagst, du gehst
- 7:35ins Restaurant ne und setzt dich dahin und möchtest jetzt zum
- 7:39Beispiel irgendwie n Essen bestellen, ne, das ist ja so der
- 7:41typische Anwendungsfall innerhalb eines Restaurants und
- 7:44dann kommt irgendwann der Kellner und Du sagst dem Kellner
- 7:46dann zum Beispiel ja ich möchte gerne die Nummer 250 haben und
- 7:50der Kellner sagt alles klar Nummer 250 geht dann in die
- 7:53Küche, in der Küche wird dann das Essen vorbereitet,
- 7:56zurechtgemacht, gekocht. Nenn s wie du möchtest und dann
- 8:00kommt das natürlich wieder zurück an einen Platz und du
- 8:02bekommst was du haben möchtest. Das heißt im Endeffekt ist der
- 8:05Kellner an der Stelle die die Schnittstelle, also dieses
- 8:09Interface, also die API. Die zwischen dem Gast und der
- 8:15Küche agiert, sage ich jetzt mal.
- 8:19Ja, ja, und da kann man so sehen, ja.
- 8:20Und du kannst natürlich auch, weil es heißt ja Application pro
- 8:24Gramming. Na also du kannst.
- 8:25Das bedeutet ja, dass du sie theoretisch auch verändern
- 8:28kannst. Die API, und das wäre halt, wenn
- 8:30du eine neue Speisekarte hast. Also wenn du sagst okay.
- 8:33Man setzt jetzt ne neue Speisekarte ein, dann ist die
- 8:36250 vielleicht nicht mehr das, was es vorher war.
- 8:39Ne, also vorher war es vielleicht Kartoffeln mit Quark
- 8:41und jetzt ist es aber Spaghetti Bolognese, ne OK.
- 8:46Das heißt, die Speisekarte ist dann sozusagen auch die
- 8:50Dokumentation beziehungsweise die.
- 8:54Die Vereinbarung zwischen Küche und Gast, dass wenn der Gast
- 8:59sagt, Ich möchte jetzt bitte über den Kellner die 250, also
- 9:02über unsere API die 250 bestellen, dass sowohl die Küche
- 9:07der Koch als auch der Gast das gleiche Verständnis davon haben,
- 9:11was gefordert ist und was geliefert werden muss.
- 9:14Am Ende genau also nicht, dass der Koch noch die alte
- 9:17Speisekarte hat und guckt und sagt, hier Ach Quark, mit was
- 9:20hast du gesagt, Kartoffeln mit Quark und du erwartest
- 9:22eigentlich ne geile Pasta oder so.
- 9:25Die Richter. Das wär doof.
- 9:29Das aber ist n sehr cooles Beispiel, was es auch sehr gut
- 9:33verdeutlicht, gefällt mir sehr gut.
- 9:34Schön. Dein Puzzle mochte ich auch
- 9:37gerne. Das ist schön, viel mehr gibt es
- 9:39ja denn eigentlich auch gar nicht zu sagen, oder?
- 9:42Ja, zum nächsten Mal. Aber wenn wir jetzt also, das
- 9:45ist ja jetzt auf einer sehr abstrakten Ebene, sehr, also so
- 9:48eine Analogie, wie gesagt, ich mag Analogien sehr gerne, auch
- 9:51wenn ich vielleicht nicht immer die besten wähle, aber gut, dass
- 9:54ich mal nein, aber wie sieht das Ganze denn jetzt zum Beispiel im
- 9:59auf mehr auf Software entwicklungsebene aus?
- 10:02Hast du da vielleicht ein Beispiel, was dir einfällt, wo
- 10:04du sagst okay angenommen, du hast wirklich Softwaresysteme,
- 10:07die miteinander arbeiten? Hast du da irgendwie wollen wir
- 10:10das mal ein bisschen übertragen auf ein Beispiel.
- 10:13Ja, ja, ja, warte. Ja, wir können ja auch das
- 10:19Essensbeispiel nochmal nehmen, weil ich glaube, so ein
- 10:22Klassiker gerade unter Codern ist ja auch Essen bestellen,
- 10:25weil man einfach keine Zeit hat einzukaufen und zu kochen, weil
- 10:28man ist ja so dermaßen am Coden aktuell, wer kennt es nicht?
- 10:33Und das Ganze ist. Softwareebene gehoben, sage ich
- 10:37mal. Dein Beispiel wäre ja im Prinzip
- 10:39bei einem. Lieferservice zu bestellen oder
- 10:43oder. Bei einem Dienst wie
- 10:44beispielsweise. Lieferando, Uber eats oder was
- 10:50es da alles gibt. Dann hast du ja im Prinzip genau
- 10:54das, den gleichen Ablauf, dass du im Prinzip sagst, OK, ich
- 10:57möchte jetzt essen bestellen, mir soll das jemand zubereiten
- 11:01und in dem Fall halt auch noch nicht nur an den Tisch bringen,
- 11:03sondern zu mir nach Hause und das klingt ja jetzt erstmal wie
- 11:07ein Service, das heißt, ich gehe zum Beispiel auf die Website
- 11:12ich. Lokalisiert oder?
- 11:14Ich sage, in welcher Straße ich wohne, kriegt dann sage ich mal,
- 11:19verschiedene Restaurants angezeigt die Speisekarte, ich
- 11:22wähle was aus, ich kann das gleich bezahlen und sie wird mir
- 11:25wird angezeigt, dass es beispielsweise in 40 Minuten
- 11:27geliefert wird, genau so. Oftmals oder sehr, sehr
- 11:32wahrscheinlich. Sagen wir es mal so, stecken
- 11:35dahinter aber mehrere Applikationen, die vereinzelte
- 11:39Aufgaben haben. Gehen wir zum Beispiel davon
- 11:42aus, man wird lokalisiert oder eingeordnet, wo man sich jetzt
- 11:46geografisch quasi gerade in der Stadt befindet, dann könnte das
- 11:49zum Beispiel so ein Lokalisierungsdienst sein oder
- 11:52Service, der denn beispielsweise an den zweiten Service, die GPS
- 11:58Koordinaten beispielsweise übermittelt und dann ein
- 12:00anderer. Es quasi anhand von, ja, sagen
- 12:03wir mal in der Datenbank oder irgendwas entscheidet, welche
- 12:07Restaurants überhaupt in Frage kommen, die dir denn aufgelistet
- 12:10werden. Das könnte so eine Antwort sein,
- 12:11die du dann siehst. Die halt in der Nähe.
- 12:13Sind ne genau die halt überhaupt für dich in Frage kommen,
- 12:16sozusagen weil das dafür brauchst du ja die Daten
- 12:19beispielsweise aus diesem Lokalisierungsservice, der sagt
- 12:22Hey Pass auf, du bist an Fleck a und dann willst du natürlich
- 12:26auch nur im Umkreis von x Kilometern sage ich mal einen.
- 12:32Lieferdienst sozusagen haben oder ein Restaurant, weil du
- 12:34willst ja jetzt nicht 5 Tage warten bis das Essen da ist.
- 12:37Schön von München nach Hamburg bestellen?
- 12:39Genau. Und so zieht sich halt die Kette
- 12:42immer weiter. Dann willst du halt sagen okay,
- 12:43ich möchte jetzt bezahlen. Ja gut, wahrscheinlich wird der
- 12:48Service für die Lokalisierung oder auch der Service für die
- 12:52Anzeige deiner möglichen Restaurants sich nicht noch um
- 12:55die Bezahlung kümmern wollen, das heißt es wird noch eine
- 12:57dritte Anwendung geben, die. Diese ganze Payment Nummer, also
- 13:02die Bezahlung abwickelt und. So zieht sich das immer weiter,
- 13:05dass du sagst, mein Service wie beispielsweise Lieferando, ich
- 13:09möchte jetzt Essen bestellen, bezahlen und geliefert bekommen,
- 13:12splittet sich halt in ganz ganz viele Teilsysteme auf, die dann
- 13:16quasi wie wir das mit dem Puzzle gesagt haben dann.
- 13:20Per API miteinander verbunden sind also kommunizieren.
- 13:23Können also du hast quasi was Bezahlsystem ist ein so ein
- 13:27Puzzleteil und der Lokalisierungsservices ein
- 13:30Puzzleteil und so weiter ne und das ergibt dann.
- 13:32Das Bild also, das sind natürlich noch viel mehr.
- 13:34Das sind sehr abstrakte Beispiele, aber wenn ich diese
- 13:37Puzzleteile Zusammensetze, steht dann auf meinem Puzzle zum
- 13:41Beispiel lieferando, aber dann hast du halt so dieses
- 13:43Gesamtsystem am Ende, so kann man sich das vorstellen.
- 13:47Finde ich gut. Klingt auf jeden Fall mega.
- 13:49Also ich ich könnte es mir jetzt vorstellen, weißt du das ist
- 13:53gut, das ist gut. Schwer um Kopf und Kragen
- 13:55gelegt. Ach was, ja genau.
- 13:59Und wenn man jetzt sagt okay, also da ergibt sich ja irgendwie
- 14:03schon ein bisschen die Frage, wieso gibt es überhaupt apis,
- 14:07was ich interessant finde, ist, dass apis überhaupt so ins Leben
- 14:11gerufen worden, weil. Vor allem halt mit diesem ganzen
- 14:16sag ich mal Netz mit diesem ganzen Netzwerken zwischen
- 14:19Rechner. Das heißt, wenn du jetzt zum
- 14:21Beispiel sagst, ne, das Internet wurde irgendwann.
- 14:26Ja mal verbreitet und da wurden ja im Endeffekt ist ja n
- 14:29Zusammenschluss aus Rechnern und damit diese Rechner halt eben
- 14:32auch miteinander kommunizieren können, gibt es also da wurden
- 14:36also sage ich jetzt mal, ursprünglich kam da so ein
- 14:39bisschen das ganze, diese ganze API App plication Programming
- 14:43Interface Nummer dann auch so richtig auf, also jetzt nicht
- 14:46mit dem Internet, aber so richtig ins Rollen, also jetzt
- 14:48nicht mit dem Internet selber auch schon vorher, aber halt
- 14:51wenn es darum ging Netzwerke zu bilden, wo halt.
- 14:55Unterschiedliche Kommunikation zwischen verschiedenen Systemen
- 14:57Halt ausgetauscht wurde und so hat sich das dann im Endeffekt
- 15:01auch entwickelt und aber natürlich auch auf verschiedenen
- 15:05Arten. Also es ist ja nicht nur so,
- 15:07dass du sagst, okay, du hast jetzt eine bestimmte Art, der
- 15:10das des Austauschs von Informationen über eine solche
- 15:13Schnittstelle, sondern es gibt ja verschiedene Arten, also du
- 15:16kannst jetzt zum Beispiel sagen okay das was du beschrieben hast
- 15:19mit der mit diesem Lieferando beispielsweise wo?
- 15:24Du sagst, ich möchte gerne von Position x etwas bestellen und
- 15:28dann wird an einen Service gesendet.
- 15:30OK welche? Restaurants sind dann im Umkreis
- 15:35x stehenden zur Verfügung. Das wird ja wahrscheinlich.
- 15:40So stell ich es mir jetzt momentan diesem Beispiel vor,
- 15:41über das Internet abgefragt, was ja beispielsweise dann Web Apis
- 15:46sind. Irgendwo ne, das wäre ZB jetzt
- 15:48eine. Eine Art von Schnittstellen.
- 15:52Aber es gibt ja auch noch andere Arten von Schnittstellen.
- 15:56Also zum Beispiel bibliotheks Apis besser, ich meine.
- 16:00Ja, ja, ist ein gutes Beispiel. Also so Bibliotheken oder
- 16:04Frameworks sterben ja auch Schnittstellen bereit, um auf
- 16:08deren Funktionalität zugreifen zu können.
- 16:11Dass das also. Ich glaube, dass wenn man über
- 16:14apis redet, im allgemeinen Halt, wie du schon meintest, sehr oft
- 16:17nur an sogenannte Web Apis gedacht wird, um zum Beispiel
- 16:23von einem Server Daten abzufragen.
- 16:25Aber es gibt natürlich genauso auch ap is, sag ich mal so auf
- 16:30Coding Ebene, dass du halt Bibliotheken einbindet oder
- 16:33Framework verwendest. Und ja deren Funktionalität auch
- 16:37verwendest. Oder da Daten raus haben
- 16:40möchtest, da gibt es auch. Es gibt ja auch betriebsystem,
- 16:42Apis wie jetzt Posex zum Beispiel bei Unix, um auf
- 16:45systemrelevante Dinge zugreifen. Zu können.
- 16:48Ja, cooles Beispiel. Datei Operation zum Beispiel.
- 16:50Und dann nutzt du ja auch ne Schnittstelle und sagst bitte an
- 16:54dem und dem Pfad möchte ich jetzt bitte n Pfeil löschen oder
- 16:57so. Genau.
- 16:58Genau. Ja, also das ist.
- 17:00Am Ende ist das ja auch nichts anderes.
- 17:02Ja, also das ist auch ganz cool, dass du das noch mal sagst, weil
- 17:05ich glaube, dass gerade in der heutigen Zeit, wo sehr viel auch
- 17:09logischerweise im Internet gearbeitet wird, wo es sehr
- 17:11viele Web Applikationen gibt, ist es gut, auch mal noch mal
- 17:15sich ein bisschen darauf zu besinnen.
- 17:17Wenn man von apis redet, dass es halt eben nicht nur Web apis
- 17:20sind, das finde ich sehr gut, dass das noch mal gesagt hast,
- 17:22weil ich glaube, wenn ich angesprochen werde über apis,
- 17:27denke ich auch sofort als Erstes erstmal Web Apis oder oder noch
- 17:32spezieller an Rest Apis. Es gibt ja auch noch zum
- 17:34Beispiel andere Web API Schnittstellen wie zum Beispiel
- 17:37Soap oder so, das sind ja, es gibt ja verschiedene
- 17:40Möglichkeiten und ich denke wahrscheinlich als erstes
- 17:43erstmal an Rest Apis, aber das ist eine andere Geschichte und
- 17:46eine andere Story. Ja, aber das ist ja das, was ich
- 17:49meinte mit, dass das so richtig ins Rollen gekommen ist, weil
- 17:52genau deswegen denkt man immer daran, weil der Anwendungsfall.
- 17:57Einfach so groß ist oder es an. Also wenn man sich mit
- 18:01Softwareentwicklung beschäftigt, geht ja auch kein Weg dran
- 18:05vorbei an zum Beispiel Rest AP is oben einfach ja.
- 18:11Zum Beispiel mit Servern zu kommunizieren, Daten abzufragen.
- 18:14Da gibt es ja 1000 Anwendungsfälle.
- 18:15Aber es ist doch, also meistens landet man ja immer dann an dem
- 18:19Punkt zu sagen, okay, ich muss jetzt eine Rest API verwenden.
- 18:22Das geht ja schon los. Wenn du sagst, ich möchte
- 18:24wissen, du guckst nach, du möchtest gerne wissen, wie das
- 18:27Wetter wird, dann fragst du ja irgendwo auf einer Webseite
- 18:30nach, zum Beispiel bei Wetter, schlagt mich tot, sagt er und
- 18:36fragst an, wie wird das Wetter heute oder morgen, das heißt, du
- 18:40stellst ja diese Anfrage. Blöd gesagt mit ey.
- 18:43Wie wird denn das Wetter heute? Und dann kriegst du ja über eine
- 18:46Web API über n Restbefehl von dem Server zurück.
- 18:50Die Antwort die dir sagt ja es wird zum Beispiel sonnig oder
- 18:53jetzt ist es gerade noch richtig schön, aber in 2 Stunden fängt
- 18:56es an zu regnen, das sind ja im Endeffekt die Daten, die du dann
- 18:59sozusagen zurückbekommst. So kann man sich das ja so eine
- 19:01Web App im Endeffekt vorstellen und bei den anderen apis ist es
- 19:05ja ähnlich, das heißt du fragst irgendwas an, du möchtest
- 19:09irgendwie. In der Information haben und
- 19:11diese Information bekommst du dann zurück und das interessante
- 19:16dabei ist ja, oder man kriegt ja relativ schnell jetzt vielleicht
- 19:19raus, dass man sagt okay, was ist denn eine API, weil eine API
- 19:23ist ja dafür da, nicht nur um zu sagen okay du hast eine
- 19:26Schnittstelle, sondern du hast ein System und stellst oder
- 19:30gibst eine API frei um zu sagen es dürft diese API darf auch
- 19:35benutzt werden von anderen Systemen, das ist ja auch noch
- 19:38mal vielleicht sehr interessant zu abzugrenzen.
- 19:40Weil du kannst natürlich sagen, ich habe vielleicht.
- 19:44Ein eine Funktionalität, aber vielleicht hast du einen Server
- 19:49der anderen nicht zur Verfügung stellen möchte.
- 19:52Wie das Wetter wird, auch wenn der Server theoretisch die
- 19:55Möglichkeit hätte, weißt du was ich meine, das heißt eine API
- 19:59ist immer dafür da oder wenn es eine API gibt für ein System für
- 20:04Web API eine Bibliotheksabi, dann sind das ja immer Punkte.
- 20:09Die das System nach außen zur Verfügung stellt und auch sagt,
- 20:12Du darfst diese Daten bekommen. Das ist vielleicht noch mal
- 20:17zusätzlich ganz interessant zu erwähnen.
- 20:19Genau ist es im Prinzip deine öffentliche Schnittstelle, also
- 20:23sagen wir mal in Anführungszeichen öffentlich, da
- 20:26können wir später noch mal darauf eingehen, aber die
- 20:28Schnittstelle in dein inneres System herein und du sagst
- 20:31darüber, welche Daten du preisgibst, wie du schon
- 20:34meintest oder welche Funktionalitäten ausführbar sind
- 20:38von dir selbst. Und du kapselst ja quasi deine
- 20:42interne Repräsentation. Mhm von der Außenwelt ab.
- 20:47Genau ja, also im Endeffekt ist ja um dieses Wetter Beispiel
- 20:50noch mal zu nehmen, ist dir ja egal woher das Wetter kommt, was
- 20:55für Modelle da laufen um das vorherzusagen, das ist ja egal.
- 20:58Du willst einfach nur wissen. Morgen 18:00 Uhr wie wird vor
- 21:03voraussichtlich das Wetter sein? Genau, und dann kriegst du halt
- 21:06ne Antwort, die dir das beantwortet und dir ist egal was
- 21:08n Wettermodell dahinter ist. Wer das gesagt hat, ob das keine
- 21:12Ahnung aus dem Kaffeesatz gewesen.
- 21:15Aber weißt du also, das ist ja genau der.es ist spielt für dich
- 21:18keine Rolle wie es da intern aussieht, dahinter sozusagen.
- 21:21Das wär auch geil, du kriegst irgendwie super ne riesen mega
- 21:24Daten, du musst selber noch sozusagen diese wie sagt man
- 21:28voraussichtlich voraus diesen Forecast machen, so wie wird das
- 21:31Wetter genau. Das genau, und das ist nämlich
- 21:37ein sehr guter Punkt, was nämlich AP is beinhalten, ist
- 21:42immer eine Definition und gewisse Regeln, damit quasi
- 21:46beide Seiten auch wissen, was zu erwarten ist.
- 21:50Also im Prinzip es ist definiert wie deine Anfrage aussieht, dass
- 21:54du zum Beispiel sagst, gib mir, also ich muss Ort Zeit oder?
- 22:00Zeitraum übergeben und Krieg als Antwort, dann eine
- 22:03Regenwahrscheinlichkeit und eine Durchschnittstemperatur oder was
- 22:06auch immer. Aber das muss definiert sein,
- 22:08damit beide Seiten wissen und da haben wir wieder das Puzzle, das
- 22:12quasi beide Teile wirklich perfekt ineinander passen, damit
- 22:15halt keine Unklarheiten entstehen.
- 22:18Das ist halt der wichtige Punkt und deswegen gibt es halt klar
- 22:21definierte Regeln oder Definitionen nicht oder, sondern
- 22:25und und halt auch Formate, die ich erwarten kann, da ganz
- 22:31typisch werden ja jetzt zum Beispiel Jason für das Jason
- 22:34Format oder XML, dass du sagst okay, ich kriege jetzt zum
- 22:38Beispiel einen gewissen Datensatz, sozusagen Objekte
- 22:41zurück und die sind, ich weiß wie die formatiert sind, um mir
- 22:44die Daten, die ich. Möchte da wieder rausziehen zu
- 22:47können. Die einzelnen Bestandteile und
- 22:50das ist halt auch ein wichtiger Punkt, dass es eine klar
- 22:52definierte Schnittstelle ist, die keine keine Unklarheiten
- 22:56offen lässt. Gesagt.
- 22:58Ja, auf jeden Fall. Also ich, wenn ich das so
- 23:00zusammenfassen würde, würde ich sagen, es gibt so eine Art
- 23:02Anatomie, dass du im Endeffekt oder eine Art.
- 23:07Beschreibung was überhaupt, was du überhaupt bekommen kannst,
- 23:09also welche Daten kriegst du überhaupt oder welche Fragen
- 23:13darfst du stellen? Also du könntest jetzt
- 23:15wahrscheinlich zum Beispiel einer Wetter Api kannst du zwar
- 23:17fragen wie das Wetter wird. Blöd gesagt, aber du kannst zum
- 23:20Beispiel nicht fragen, wie schnell dein Auto fährt.
- 23:22Also also das ist halt sozusagen die Art der Endpunkte oder der
- 23:27zur Verfügung gestellten möglichen Informationen, die du
- 23:31bekommst. Dann sozusagen request und
- 23:35Response. Ne, es ist fest definiert wie du
- 23:36meintest, was darf ich überhaupt Anfragen?
- 23:39Ich darf zum Beispiel sagen oder was muss ich mitgeben, wie du
- 23:42meintest und ich fand das das Beispiel ganz gut zu sagen du
- 23:45kannst zwar fragen wie wird das Wetter, aber du musst natürlich
- 23:47sagen OK wann denn heute, morgen, übermorgen wo bist du
- 23:50gerade, bist du am Südpol oder in Afrika, also wo bist du
- 23:55gerade? Das hat ja durchaus Auswirkungen
- 23:58und dann kannst du auch wirklich.
- 24:00Nach diesem Request der festen Regeln und einem festen Struktur
- 24:04folgt, kriegst du auch eine fest definierten Response, also eine
- 24:07fest definierte Antwort zurück, die dir sagt, Okay, du bekommst
- 24:10jetzt das und das. Wir sind natürlich jetzt auch
- 24:13wieder von der Beschreibung her wieder bei Web apis aktuell,
- 24:16aber das geht ja auch bei Frameworks.
- 24:18Also wenn du zum Beispiel bei einem Framework fragst, in
- 24:21welchem Lifecycle befinde ich mich denn zum Beispiel gerade
- 24:24oder was auch immer, da kannst du ja auch sagt das Framework
- 24:27okay hier darfst du jetzt zum Beispiel diese Information.
- 24:30Zu haben aber ne andere nicht. Und wenn du diese Information
- 24:33haben möchtest, dann ist es wichtig, dass du mir 23
- 24:36Parameter als Anfrage übergibst. Und dann gebe ich dir diesen
- 24:39fest, definierten diese fest definierte Antwort zurück und
- 24:43wie du meintest, der dritte Punkt ist im Endeffekt neben
- 24:46Anatomie und diesem Request und Response ist ja die Doku, weil
- 24:50wenn du nicht weißt was du übergeben musst, dann kannst du
- 24:54ja diese API auch gar nicht ansprechen.
- 24:57Genau oder auch nicht weiß, was du empfängst.
- 24:59Dann kannst du es ja auch nicht verarbeiten.
- 25:01Wenn du jetzt zum Beispiel denkst, bei dem Wetter, das ist
- 25:05ja eine ganz schön hohe Durchschnittstemperatur morgen
- 25:09um 18:00 Uhr dabei war das die Regenwahrscheinlichkeit von 80%
- 25:12oder so, weißt du ja oder Fahrenheit statt Celsius genau
- 25:15oder die Einheit, sowas spielt halt eine Riesenrolle, dann am
- 25:18Ende ganz genau. Wir verbrennen ja alle.
- 25:23Also deswegen gehe ich nicht raus.
- 25:24Fabian, weil ich diese Daten immer falsch auswerte und ich
- 25:28sollte mal 80 grad draußen. Bleib lieber drin.
- 25:35Ich bleib lieber drin. Aber ein wichtiger Punkt dabei
- 25:39ist, und der wird jedem auch sofort begegnen, ist immer das
- 25:42von Endpunkten gesprochen wird. Und ich finde, da sollten wir
- 25:45auch noch mal drauf eingehen. Also wir haben ja im Prinzip
- 25:48schon so indirekt erklärt, was ein Endpunkt ist.
- 25:51Aber magst du das vielleicht noch mal ein bisschen
- 25:52zusammenfassen oder konkretisieren?
- 25:56Ich weiß gar nicht, was du jetzt genau hören möchtest.
- 25:58Also n Endpunkt ist ja, im Endeffekt folgt ja also ich
- 26:02versuch das jetzt erstmal auf auf, wenn wir gerade bei Web
- 26:05Apis sind, also Web Apis hat zum Beispiel bestimmte Endpunkte, wo
- 26:09zum Beispiel verschiedene Methoden möglich sind, zum
- 26:12Beispiel ein Get sagt dir, du kriegst davon etwas, das sind ja
- 26:16zum Beispiel bei sagen wir mal bei einer Bibliotheksfunktion
- 26:19ist es vielleicht so eine Art Geta Methode?
- 26:22Oder zum Beispiel eine Put Funktion.
- 26:24Das ist beinahe Web API. Ist es dann zum Beispiel da
- 26:28übergibst du Daten und möchtest neue Daten ins System
- 26:31reinschreiben beziehungsweise Daten die existieren verändern.
- 26:36Es gibt noch einen Post. Das ist wenn du neue Daten
- 26:39wirklich reinbringen möchtest ins System, die noch gar nicht
- 26:41existieren um das vielleicht falls jetzt irgendjemand sich
- 26:44fragt okay ich habe das schon mal gehört, Post und Put.
- 26:48Ist im Endeffekt, da sind wir jetzt bei den.
- 26:49Http genau, aber Fakt ist ist, dass es im Endeffekt, wenn du es
- 26:52jetzt zum Beispiel wieder auf einer bibliotheks API
- 26:55funktionsmäßig siehst, ist es ein Setup, sagen wir mal und das
- 27:01heißt, du kannst entweder Daten abfragen auf einem Endpunkt oder
- 27:05Daten ins System bringen auf einem Endpunkt beispielsweise,
- 27:08und du übergibst halt immer eine bestimmte, sag ich mal ein.
- 27:14Eine Möglichkeit also, ein, ein, ein Set an Daten, also entweder
- 27:17Parametern für die Anfrage, was möchte ich haben oder du
- 27:21übergibst Daten die du ins System reinbringen möchtest.
- 27:24So, und das ist wie gesagt Fest definiert, das sind für mich
- 27:27jetzt erstmal so Endpunkte in dem Sinne, aber vielleicht habe
- 27:30ich auch weiß ich auch nicht worauf du hinaus willst.
- 27:32Gerade nein, das ist ja, das ist es ja am Ende auch, also im
- 27:36Prinzip. Endpunkte kann halt definiert
- 27:40werden und da kommt die Dokumentation auch wieder rein
- 27:42welche also ich habe eine gewisse Vorstellung was für
- 27:45Daten ich brauche und es muss dafür sozusagen ein Endpunkt
- 27:48geben, der mir diese Daten bereitstellt, klar definiert zum
- 27:52Beispiel, ich möchte jetzt eigentlich wissen, morgen um
- 27:5518:00 Uhr, was für ein Wetter vorhergesagt wird und dann
- 28:00müsste es dafür sozusagen, wenn das alles sauber ist, einen
- 28:03Endpunkt geben, wo ich quasi dann.
- 28:06Ort Zeit übergeben kann. Und ich kriege eine Prediction
- 28:09des Wetters zurück. Und ja wie der heißt, es ist ja,
- 28:12wenn wir jetzt wieder zum Beispiel bei Web API sind, wird
- 28:15es ja eine URL sein. Mit einem gewissen Pfad und zum
- 28:19Beispiel dann Slash Predict hinten dran und ich kann noch
- 28:21Parameter übergeben. Jetzt mal nur rein genau als
- 28:24Beispiel ne oder bei einer bibliotheks API, dass ich ne
- 28:29Funktion predict aufrufen kann, wo mir die Dokumentation sagt
- 28:33jetzt gibt es bitte noch ein Date rüber, wann zu welchem
- 28:37Zeitpunkt diese Vorhersage getroffen werden soll und wo.
- 28:42So also so kann man sich das vorstellen.
- 28:44Und dann ist das so gesehen auch ein Endpunkt, den ich ansprechen
- 28:47kann, mit definierten Vorgaben. Und ich kriege eine definierte,
- 28:51ein definiertes Format als Ergebnis wieder, und vielmehr
- 28:55steckt hinter dem Wort Endpunkt so gesehen auch nicht, es ist
- 28:58quasi, ja, es ist sozusagen meine Anlaufstelle, wo ich
- 29:02Sachen abfragen kann. Ja, ok, ich glaube, ich glaube,
- 29:04jetzt macht es bei mir auch so ein bisschen Klick.
- 29:06Worauf du hinaus wolltest? Weil im Endeffekt kann ein
- 29:09Endpunkt ja auch einfach nur eine Funktion sein, die du
- 29:12aufrufst. Genau.
- 29:14Und klar, es gibt ja jetzt gute und schlechte APIS, das heißt,
- 29:18es gibt vielleicht auch welche, die haben einen Endpunkt und da
- 29:21kann ich 1000 Daten reinkippen und Krieg halt unter
- 29:25irgendwelchen Voraussetzungen und Cases denn Daten zurück und
- 29:29dann wird es halt kompliziert und deswegen redet man ja so von
- 29:32verschiedenen Endpunkten, wo ich halt also sehr gezielt Sachen
- 29:37abfragen kann, um sie auch einfach strukturiert zu halten
- 29:40und modular vor allem auch. Finde ich ganz gut.
- 29:43Also als. Wenn du jetzt n Auto kaufen
- 29:45willst und du sagst du hast n zum Beispiel n Endpunkt wo du
- 29:49sagst ich möchte keine Ahnung. Ich möchte also wissen was ich
- 29:53bei diesem Händler zum Beispiel für PKWS kaufen kann, dann gibt
- 29:56es da vielleicht n eigenen Endpunkt für genauso wie für
- 29:58LKWS oder was auch immer oder Motorräder.
- 30:02Wenn du aber zum Beispiel, du könntest natürlich die API auch
- 30:05relativ schlecht designen, dass du beispielsweise sagst, ich
- 30:07möchte alle. Fahrzeuge und dann hast du ein
- 30:10Fleck. Was sagt Motorräder True
- 30:14Autostreo oder was auch immer sowas ne also er ist extra ein
- 30:17bisschen blöd gesagt aber naja oder verkaufte nicht lieferbare
- 30:22also es war alles drin und dann musst du über Daten die du
- 30:26reinkippst so filtern, dass du irgendwie eigentlich an deine
- 30:29eigentlichen Infos rankommst. Beispielsweise also anstatt
- 30:32einen Endpunkt, wo du alles reinkippst und 1000 Millionen
- 30:34Möglichkeiten hast, das sozusagen zu konfigurieren, ist
- 30:37es natürlich schon schöner zu sagen für.
- 30:40Sprechende Datenanfragen oder neue Daten eintragen gibt es
- 30:44halt auch entsprechende Funktionen beziehungsweise
- 30:48Endpunkte dann an der Stelle ja. Das ist also, liebe Zuhörerin,
- 30:52liebe Zuhörer, falls das Thema APIS für dich noch neu ist und
- 30:55du gerade ja diese Folge hörst und das nächste Mal jemand sagt,
- 30:58gibt es einen Endpunkt dafür, dann weißt du genau, was er
- 31:01meint und worauf er hinaus. Möchte und die Person wird
- 31:04sagen, ja, es gibt genau einen Punkt.
- 31:07Gibt genau einen. Endpunkt.
- 31:08Und dann weißt du das, was du willst.
- 31:10Dann weißt du, man sollte mal refectern.
- 31:15Sehr wahrscheinlich, oder? Oder der Service, den du
- 31:17verwenden willst. Vielleicht hast du ja keinen
- 31:18Einfluss, genau, aber also das ist auf jeden Fall ein guter
- 31:23Punkt und im Endeffekt sind Hape s.
- 31:26Ja auch wirklich wie du schon meintest, es ist ja essenziell
- 31:29heutzutage, man braucht sie eigentlich fast überall.
- 31:32Wie wir schon gesagt haben, zum Beispiel auf
- 31:34Betriebssystemebene, dass zum Beispiel auch Anwendungen halt
- 31:37eben mit dem Betriebssystem beispielsweise arbeiten können.
- 31:40Dafür wird halt eben von dem Betriebssystem.
- 31:44Ne Betriebssystem API zur Verfügung gestellt, wenn wir zum
- 31:46Beispiel mit Framework arbeiten, wie zum Beispiel Springboot oder
- 31:51wir hatten letztens mal gudo ausprobiert, wenn man mit
- 31:53solchen Frameworks arbeitet, dann bieten diese Frameworks
- 31:57natürlich auch die Möglichkeit irgendwie, dass man mit der
- 32:00Anwendung auch, also mit diesem Anwendungen in
- 32:03Anführungsstrichen, also diesem Framework und seinem eigenen
- 32:05Code, den man schreibt, auch interagieren kann, aber genauso
- 32:09ist es natürlich auch auf Web Ebene, wenn du zum Beispiel
- 32:11sagst, in verschiedenen Branchen, wie zum Beispiel dem
- 32:13Finanzsektor. Da ist es ja zum Beispiel auch
- 32:16so, dass du einer Bank vielleicht ermöglichst, mit
- 32:19verschiedenen zahlungsdienstleistungen
- 32:22Dienstleistern sich zu verbinden oder Zahlungsdiensten sich zu
- 32:25verbinden. Ne, also dass du zum Beispiel
- 32:27sagst, ja gut, du kannst meinetwegen über Visa bezahlen,
- 32:30du kannst aber auch zum Beispiel über Mastercard bezahlen oder
- 32:32was auch immer, es gibt ja verschiedene Möglichkeiten oder
- 32:34Paypal zum Beispiel oder Paypal. Was auch immer, also es gibt ja
- 32:37genau das ist eine Menge klassischer Beispiel, was,
- 32:39glaube ich, klassisches Beispiel, was jeder kennt.
- 32:43Aber zum Beispiel auch bei dem Gesundheitswesen.
- 32:46Wenn du sagst, du hast Patientendaten und du hast zum
- 32:49Beispiel ein Krankenhaus und wirst in ein anderes Krankenhaus
- 32:52überführt und musst diese Patientendaten weitergeben, oder
- 32:54die können abgerufen werden von einem Krankenhaus zum anderen
- 32:57oder von einem Arzt zum anderen, dann sind das ja auch irgendwo
- 33:00einzelne Systeme, die aber versuchen, irgendwie miteinander
- 33:03zu interagieren und zu sagen, könnte ich bitte Patient a oder
- 33:08von Patientin B die Daten haben, könnte ich die bitte kriegen und
- 33:11dann bekommst du die. Und dann musst du die natürlich
- 33:14aber auch irgendwie wissen, okay was kriege ich da eigentlich und
- 33:16wie kann ich das bei mir eintragen beispielsweise?
- 33:19Und da gibt es ja viele Sachen. Ja, das sind auch sehr gute
- 33:24Beispiele. Wenn wir jetzt zum Beispiel noch
- 33:26mal unser wir bestellen Essen, Beispiel nehmen.
- 33:34Wo wir gesagt haben, ja OK, dann gibt es halt eine Anwendung oder
- 33:37ein Teil deines Systems, was sich um die Bezahlung kümmert
- 33:40und dann hast du jetzt Dienstleister, wie du sie
- 33:43genannt hast und möchtest darüber die Bezahlung abwickeln,
- 33:47dann hast du ja im Prinzip wieder eine API aus deinem
- 33:50System zu einem Drittanbieter heraus, wo du die Bezahlung denn
- 33:54abwickelst und dann quasi die Antwort bekommst.
- 33:56Jetzt mal ganz vereinfacht gesagt, Hey es bezahlt, kannst
- 33:59du. Als ja kannst du als bezahlt
- 34:02betrachten und weitermachen sozusagen.
- 34:04Und da sehen wir ja auch wieder, dass diese Schnittstelle, diese
- 34:08ganzen Systeme zu einem Gesamtservice verbindet, am Ende
- 34:11für den Anwender, das ist halt eine sehr coole Sache.
- 34:14Dabei, ohne dass der Anwender eigentlich sich großartig darum
- 34:18kümmern muss. Und das ist ja auch wieder das
- 34:19Schöne auf Anwendungsebene. Also es passiert irgendwo.
- 34:24Ja genau. Oder ein anderes Riesenbeispiel,
- 34:26was auch jeder kennen sollte, ist natürlich sämtliche
- 34:29Loginprozesse, also authentifizierungs.
- 34:33Services ich mein, du kannst dich ja heutzutage so, also
- 34:36angenommen du hast n Google Konto, dann kannst du dich ja
- 34:39gefühlt bei jedem Service der mittlerweile aktuell ist sag ich
- 34:44mal mit deinem Google Konto anmelden.
- 34:46Du musst dich nicht überall wieder registrieren, sondern.
- 34:48Es wird quasi ein Service von Google genutzt, der dich
- 34:52authentifiziert. Ja, doch hier kann man so sagen,
- 34:55genau und dann quasi zurückgemeldet wird ja OK, es
- 35:00ist User XY, du kannst jetzt mit seinen Benutzerdaten sozusagen
- 35:04weitermachen. Auch ein schönes Beispiel.
- 35:07Und das ist nämlich genau der Grund, warum AP is am Ende.
- 35:13So sinnvoll und mächtig sind, weil da können wir ja jetzt
- 35:16langsam mal drauf eingehen, weil das ist wirklich ein spannender
- 35:18Punkt. Warum macht man das und welche
- 35:20vor und Nachteile hat das bzw sagen wir mal die Vorteile und
- 35:25Nachteile, wenn es halt schlecht designte Apps sind.
- 35:30Aber das ist halt ein riesen Punkt, diese
- 35:31Wiederverwendbarkeit. Es gibt jetzt beispielsweise
- 35:34diesen Bezahlservice, oder? Authentifizierungsservice und
- 35:40den kann ich ja. Also jetzt sage ich hier, du
- 35:43kannst mir Daten geben und ich authentifiziere diesen User und
- 35:47dieser Service kann jetzt von sämtlichen Anwendungen.
- 35:50Verwendet werden, sei es von der Essens App, sei es von keine
- 35:53Ahnung, irgendein Spiel oder also überall wo so Loginstant
- 35:56verwendet werden. Und das ist ja ne mega coole
- 35:58Sache diese Wiederverwendbarkeit auch dahinter ne.
- 36:02Ja, das ist ja im Endeffekt so n bisschen wie ich mag das immer,
- 36:05wenn man so miteinander redet, da hast du ja auch irgendwie ne
- 36:08gewisse Regelbasis, auf der du arbeitest, und zwar die Sprache,
- 36:13die zugrunde liegt, also sei es jetzt zum Beispiel Englisch,
- 36:15französisch, italienisch, deutsch, frag mich nicht, das
- 36:18heißt, du hast ne gewisse Syntax mehr oder weniger und das
- 36:23Verständnis darüber, wie das zu interpretieren ist, ist auch
- 36:26wichtig und wenn du das aber kennst und weißt, wie das
- 36:29funktioniert, dann. Kannst du miteinander
- 36:32kommunizieren, dann ist es ja auch egal, ob du zum Beispiel,
- 36:34ob ich jetzt mit dir kommuniziere oder ob ich jetzt
- 36:36zum Beispiel weiß ich mit Person xy oder meiner Mutter
- 36:40kommuniziere. Das ist ja völlig egal, weil
- 36:42solange alle die gleiche Sprache sprechen, also das gleiche
- 36:45Interface bedienen, mal blöd gesagt, hast du am Ende die
- 36:48Möglichkeit, dich miteinander auszutauschen, du musst nicht
- 36:50mit jeder Person, sage ich jetzt mal einzeln sprechen, ja, also
- 36:54gut klar, Personen an sich haben Emotionen und so weiter du
- 36:58weißt, dass. Computer nicht.
- 37:04Nein, aber du weißt ne, du weißt was ich meine und das ist das
- 37:07find ich, das kann man immer ganz gut so.
- 37:11Mal als Analogie nehmen, mal wieder ne, um zu verdeutlichen
- 37:16was eigentlich. Der der Knackpunkt.
- 37:19Ist, wieso man solche apis überhaupt erfunden hat oder auch
- 37:22nutzt heutzutage ne ja ist ne tolle Sache, so n.
- 37:26Klassisches Beispiel was man super in die API Welt packen
- 37:30kann wenn du ich find das kennen doch viele ne also man war so n
- 37:34kleiner Junge oder n kleines Mädchen also ein Kind noch ne
- 37:37und hat zum Beispiel einen Elternteil gefragt ob man etwas
- 37:40darf so und du wusstest du bist ja man geht ja gezielt schon zu
- 37:44dem Elternteil wo man weiß da ist mehr erlaubt also da ist die
- 37:47Wahrscheinlichkeit höher man ist ja nicht.
- 37:49Als Kind. Und dann kommt immer dieser
- 37:51berühmte Satz, zum Beispiel, ja, da, da musst du deinen Papa
- 37:55fragen, mal als Beispiel, wenn jetzt die die Mutti quasi mehr
- 37:59zulassen würde und diese Person, also deine Mutti schickt dich
- 38:03aber zu deinem Papa. Für sozusagen die
- 38:05Authentifizierung oder die Autorisierung, in dem Fall, das
- 38:09heißt, es ist im Endeffekt auch wieder ne API.
- 38:11Geh mal mit deiner Anfrage oder Sie verrückst versichert sich
- 38:15erstmal bei Papa und frag diesen Service an und der sagt Nee
- 38:19abgelehnt. Und dann hast du im Prinzip
- 38:22nämlich einen wichtigen Punkt, auch bei APIS.
- 38:24Was die Ermöglichkeiten ist, nämlich der Aspekt Sicherheit,
- 38:27darf ich überhaupt gewisse Sachen oder auf gewisse Daten
- 38:31zugreifen und dann gibt es halt Instanzen wie zum Beispiel beim
- 38:34Beispiel der Papa, der sagt. Du nicht.
- 38:41Und das sowas kann ja auch wiederverwendet werden.
- 38:43Du kannst ja mit sämtlichen Anfragen immer wieder zu Papa
- 38:45gehen und sagen und wie sieht es heute aus?
- 38:51Und das ist halt auch n Punkt, dass du halt sag ich mal,
- 38:54Sicherheitsaspekte sehr gut damit umsetzen kannst.
- 38:57Ja, und das ist das, was ich vorhin meinte.
- 38:59Es ist zwar öffentlich und deswegen hatte ich vorhin
- 39:01gesagt, in Anführungszeichen. Weil ja auch beispielsweise
- 39:06gewisse Authentifizierung stattfinden muss.
- 39:09Dass du zum Beispiel dich ausweisen musst während dieser
- 39:12Anfrage und dann nur Daten kriegst, wenn dieser, wenn du
- 39:16quasi autorisiert bist, dazu. Genau die zu bekommen und damit,
- 39:20das lässt sich halt wunderbar damit umsetzen.
- 39:22Ja, es gibt ja zum Beispiel auch öffentliche apis, ne, also jetzt
- 39:26wieder Web Apis, wo man auch einfach so Daten sich holen kann
- 39:31oder ab snacken kann. Mal blöd gesagt, aber manchmal
- 39:35gibt es ja auch öffentliche apis, die sagen okay jeder darf
- 39:38das rein theoretisch, aber du brauchst trotzdem einen
- 39:39bestimmten Schlüssel dafür, damit du das machen darfst.
- 39:44Das heißt, das ist klar dokumentiert, was passiert nach
- 39:47außen hin, aber es steht dann halt auch da.
- 39:50Du musst beispielsweise ein Token mit übergeben, dass du
- 39:54überhaupt ja quasi. Autorisiert bist, das zu
- 39:59bekommen, also damit man dich auch identifizieren kann,
- 40:02sozusagen. Ja genau richtig, das ist halt
- 40:05auch noch ein wichtiger Punkt dabei.
- 40:06Genau, aber das ist ja jetzt sozusagen der Punkt, wo man
- 40:09sagt, okay, wir wollen eine API verwenden oder nutzen, eines
- 40:13kann ja auch durchaus mal sein, dass man sich jetzt vielleicht
- 40:15sagt, Ey, kann man denn apis auch selber irgendwie?
- 40:20Erstellen und natürlich kann man das ne, also man kann sich jetzt
- 40:23hinstellen und sagen, OK, ich möchte jetzt zum Beispiel ein
- 40:26eine Web API selber aufsetzen, dass man selber zum Beispiel
- 40:30sagt, OK, ich möchte jetzt Daten anbieten, die ich zum Beispiel
- 40:34selber mir errechnet habe, was auch immer, denkt euch irgendwas
- 40:37aus, es ist ja möglich, also so eine API zur Verfügung zu
- 40:40stellen oder halt auch einfach nur zu Testzwecken mal zu
- 40:45basteln, genauso wie zum Beispiel Library zu erstellen
- 40:48die von anderen. Programmcode Stücken genutzt
- 40:52werden darf oder dürfen, wie zum Beispiel auch ich schmeiße jetzt
- 40:56einfach mal npm eine npm Library ins Rennen hier, das ist ja im
- 41:00Endeffekt kannst du eine Art Library erstellen mit einer Art
- 41:05API, die dir sagt okay, ich möchte jetzt aus diesem ja aus
- 41:10dieser Lip einfach mal Daten nutzen, also wie zum Beispiel
- 41:13irgendwelche mathematischen Berechnungen.
- 41:15Wenn du jetzt sagst zum Beispiel, ich möchte jetzt gibt
- 41:17es. Ja, bei vielen
- 41:19Programmiersprachen. Wo du einfach bestimmte
- 41:21Libraries nutzen kannst und du weißt aber eigentlich gar nicht,
- 41:24OK, wie wird das jetzt zum Beispiel verwendet, was was wird
- 41:26da berechnet und so weiter aber. Wenn man das jetzt selber mal
- 41:29machen möchte. Da kommt man ja vielleicht in
- 41:33die Versuchung. Also ich hab zum Beispiel auch
- 41:35irgendwann mal angefangen ne Web API zu schreiben und dachte mir,
- 41:39OK, wie mache ich das eigentlich ne und.
- 41:42Hast du vielleicht irgendwie so n paar Tipps einfach mal wo man
- 41:46sagt da darauf sollte man vielleicht schon achten, wenn
- 41:49man damit anfangen möchte oder ist eigentlich egal.
- 41:54Na ja, was heißt egal. Also es klingt immer so n
- 41:58bisschen trivial, aber der erste Typ ist natürlich Anfang und ist
- 42:02nicht zu überdenken. Am Anfang würd ich sagen, weil
- 42:05apis zu refacto ist jetzt auch nicht unüblich, es kommt halt
- 42:10gut, kommt auf den Anwendungsfall an.
- 42:11Wenn du jetzt viele Systeme hast oder Anwendungen die deine API
- 42:15verwenden hast du gewisse. Challenges.
- 42:19Ich würde es nicht Probleme nennen, aber Challenges.
- 42:21Du musst halt sicherstellen, wenn du Sachen änderst.
- 42:23Das ist beispielsweise abwärtskompatibel ist, dass du
- 42:26halt nicht sogenannte Breaking Changes erzeugt, das ist aber
- 42:29ein Thema, das können wir später behandeln.
- 42:31Trotzdem würde ich sagen erstmal anfangen und dann versuchen, so
- 42:36keep it simple mäßig um einfach eine gewisse, also um es
- 42:41intuitiv zu halten, dass du dann zum Beispiel den Endpunkt
- 42:45definierst, wie beispielsweise mit dem Wetter, der.
- 42:48Erstmal an sich simpel und klar definiert.
- 42:52Also er ist einfach verständlich.
- 42:54Du selbst anhand nehmen wir jetzt zum Beispiel Web API an
- 42:57der Adresse schon sehen kannst oder erahnen kannst, worum es
- 43:00sich handelt und dann das ganze klar dokumentierst, dass du zum
- 43:04Beispiel sagst, Hey, pass auf, gib mir Ort und Zeit und ich
- 43:08gebe dir. Folgende Wetterdaten so und dann
- 43:12weiß ja jeder, wie das zu verwenden ist.
- 43:14Ja, also. Ich also wichtig ist, dass es
- 43:16intuitiv ist in meinen Augen, dass man nicht ewig als Anwender
- 43:20rumrätselt ist das jetzt der richtige Endpunkt oder was will
- 43:24er jetzt für Daten haben und was kriege ich eigentlich zurück?
- 43:27Das ist nämlich dann die richtige Anwenderhölle am Ende
- 43:30und die gilt es zu verhindern. Aber das finde ich, ist auch
- 43:32immer sehr spannend, weil du weißt ja, wie das manchmal ist.
- 43:35Du fängst an, so etwas zu entwickeln und kommst dann
- 43:37irgendwann an einen Punkt, wo du selber den Wald vor lauter
- 43:40Bäumen. Das heißt, du weißt ja selber
- 43:42ganz genau, wie du ne diese diese API bedienen müsstest und
- 43:46checkst vielleicht gar nicht mehr das andere, das nicht
- 43:49wissen könnten. Weißt du, dass du so in der
- 43:52Materie drin steckst? Das sagst du ja, ist doch
- 43:54logisch, wenn du das brauchst, dann machst du das so aber also
- 43:58da muss man glaube ich vielleicht, also ich sag mal so,
- 44:00ich habe auch damals irgendwann angefangen eine API zu
- 44:02entwickeln, mal so aus Spaß ein bisschen oder halt auch so ein
- 44:06bisschen mehr ernst als Spaß im Sinne von ich wollte einfach mal
- 44:08was ausprobieren und wirklich für eine.
- 44:11Anwendung mal einfach das ganze Mal machen und dann kommst du
- 44:15irgendwann auch an nen Punkt, wo du dir dann vielleicht denkst
- 44:17oder zumindest war es bei mir so, dass ich mir dachte, so hm
- 44:21warte mal. Warum ist zum Beispiel, warum
- 44:23gibt es zum Beispiel n Putt, warum gibt es n Post?
- 44:25Ich hab zum Beispiel am Anfang alles über Baguettes gemacht und
- 44:28ich finde das ist prinzipiell überhaupt nicht schlimm, weil du
- 44:31lernst ja so, das heißt du kannst ja nur lernen, indem du
- 44:35das Ganze machst. Das heißt die erste API wird
- 44:37sehr wahrscheinlich nicht perfekt sein, so war was heißt
- 44:40perfekt, aber. Die Sache zu sagen, klar kann
- 44:44dir jetzt irgendjemand sagen, ja, mach jetzt nicht für alles,
- 44:46nimm nicht für alles den gettend Punkt oder diese Methode das.
- 44:52Mag total sinnvoll sein, aber am Ende kann man ja trotzdem sich
- 44:57das ganze auch selber mal. Ausprobieren, weil irgendwann
- 45:02kommst du. Ein Punkt, wo du dir sagst, ich
- 45:03möchte jetzt zum Beispiel Daten übergeben, das geht mit einem
- 45:06Get Endpunkt gar nicht so gut, das heißt ich möchte neue Daten
- 45:09in das System schreiben und das funktioniert darüber gar nicht,
- 45:12spätestens wenn du irgendwann an den Punkt kommst wo du sagst ich
- 45:14möchte beispielsweise angenommen stell dir mal vor, du hast
- 45:17irgendwie möchtest dir ein kleines Profil bauen und
- 45:20möchtest dieses User Profil, dem möchtest du ein Bild hinzufügen
- 45:24und dann denkst du dir so ich hab jetzt immer get benutzt
- 45:26obwohl jetzt muss ich ja aber eigentlich Daten ins System
- 45:29geben und. Ich kann aber keinen Bild ins
- 45:31System. Von außen geben und sagen, ich
- 45:33möchte mein Bild ändern, ne mein profilbild über n gat Endpunkt,
- 45:37das funktioniert halt nicht und demzufolge kommst du dann
- 45:40irgendwann an den Punkt wo du sagst ach so warte mal.
- 45:42Dafür gibt es zum Beispiel n Post oder n Put ne nicht.
- 45:45Auch zum Beispiel meinte Wenn du nimmst zum Beispiel n Post wenn
- 45:47du neue Daten ins System schreiben möchtest die noch
- 45:49nicht da sind, neue Datensätze und Put nimmst du eigentlich
- 45:52eher dafür wenn du sagst der Datensatz ist schon da, aber ich
- 45:55möchte Daten verändern. Aber das sind, das ist ein
- 45:59Lernprozess und ich finde es immer, was ich schwierig finde,
- 46:02ist, dass wahrscheinlich, denkt man sich am Anfang, ey, ich muss
- 46:06es richtig machen, und wenn irgendjemand kommt und es sieht,
- 46:09sagt er, warum machst du das so, das ist voll blöd, aber das ist,
- 46:12finde ich, immer voll schwierig, weil eigentlich, man muss halt
- 46:16einfach diesen Prozess auch manchmal gehen, klar kann man
- 46:18sich Best Practices nehmen, sich einlesen, das ist natürlich
- 46:21wichtig, genauso wie zum Beispiel, wenn du von Endpunkten
- 46:25geredet hast, dass du dann auch wirklich eine bezeichnenden End.
- 46:28Ist also in der URL zum Beispiel Predict oder so und nicht keine
- 46:33Ahnung, halli Hallo hallöchen, aber das ist alles n Lernprozess
- 46:39und ich glaube man kann sich ne Menge anlesen und auch ne Menge
- 46:42von irgendwie wissen von wem anders mitnehmen und vielleicht
- 46:46auch auf Ratschläge hören aber das wichtigste und da gehe ich
- 46:50total bei dir mit ist einfach erst mal anfangen und mal
- 46:53ausprobieren und mal gucken. Und das ist gerade am Anfang,
- 46:57dass ich finde aber auch gut, dass du sagst, Pass auf
- 47:00Abwärtskompatibilität, das ist ja dann schon bisschen auf
- 47:02fortgeschrittenem Niveau, dass du sagst, was passiert denn,
- 47:05wenn 5 Systeme deine API nutzen und du schmeißt jetzt auf einmal
- 47:10ein Parameter raus, der aber vorher wirklich zwingend
- 47:12notwendig war und jede Anfrage die daran kommt, fliegt mit dem
- 47:16Error ab, weil ja quasi die Definition zwischen erwarte ich
- 47:21von einer Anfrage nicht mehr übereinstimmend mit, dass ist
- 47:24meine Anfrage. Ja, oder ein Endpunkt wird
- 47:27umbenannt beispielsweise. Noch einfach ein.
- 47:30Beispiel ja, also das ist so n Klassiker, dass du denn denkst,
- 47:34ja nee, so intuitiv wisst ihr nicht, der Endpunkt, ich muss
- 47:37den Mal umbenennen und vergisst halt in dem Moment, dass ja
- 47:39viele Systeme darauf setzen und diesen Endpunkt abfragen
- 47:43beispielsweise ja. Und dann funktioniert er halt
- 47:46nicht mehr und die wundern sich so.
- 47:47Hä, was ist denn jetzt los? Mein ganzes System steht still,
- 47:50quasi ne ja. Genau, also lange Rede, kurzer
- 47:54Sinn eigentlich, was ich eigentlich sagen wollte ist, ich
- 47:56möchte mal. Ich möchte eigentlich immer.
- 47:57Leute, fass es noch mal. Zusammen ich möchte, ich möchte
- 47:59eigentlich nur Leute dazu animieren, dass man einfach mal
- 48:01anfängt, weil es gibt so oft, dass man dann einfach sagt, so,
- 48:04ja, wie mache ich dies, wie mache ich das, ich brauche Best
- 48:06Practice blubby Blue einfach mal machen und dann entwickelt sich
- 48:09das ganze und dann kann man daraus lernen, also besser als.
- 48:14Ich würde es gerade einfach nur witzig, dass ich so sage, ja
- 48:16einfach mal anfangen, das ist erstmal das wichtigste und du
- 48:19das ist aber richtig schön ausführst und am Ende das
- 48:22Gleiche zu sagen. Ja, ich weiß, ich weiß, aber ja,
- 48:25es ist. Manchmal so wichtig.
- 48:26Ja, es ist auch wichtig, und das muss man auch ganz klar
- 48:29aufzeigen, weil man kennt das ja von sich selbst, dass man sagt,
- 48:32ach nee, aber erstmal muss ich wissen, wie es ganz genau geht
- 48:34und Best practice hier und best Practice, da bin ich ja auch
- 48:37ganz bei dir und das ist auch ein sehr wichtiger Punkt.
- 48:39Ich ertapp mich dabei immer noch heutzutage bei sowas.
- 48:42Ja, natürlich. Man man schiebt quasi dieses
- 48:45anfangs halt immer mehr nach hinten.
- 48:47Wenn man sagt, ja, nee, erstmal muss ich noch wissen, wie das
- 48:49und das. Funktioniert.
- 48:50Absoluter Klassiker in sämtlichen Bereichen.
- 48:54Ein Punkt, auf den man aber wirklich meiner Meinung nach
- 48:57frühzeitig achten sollte und den vielleicht nicht vernachlässigen
- 49:00sollte, weil der ist. Nicht schwierig in der
- 49:03Definition, sage ich mal. Aber schwierig ist, konsequent
- 49:07umzusetzen, wo jetzt vielleicht wieder Leute sagen werden so.
- 49:12Hä also jetzt mal ganz ehrlich, das ist doch sowas von
- 49:14selbstverständlich, aber man hat schon viele APIS gesehen, wo es
- 49:17nicht so selbstverständlich ist und das ist die
- 49:20Fehlerbehandlung. Dass deine Endpunkte auch Fehler
- 49:26behandelt sind und der Anwender quasi auch erfährt, wenn was
- 49:31schiefläuft und vor allem was schief läuft, ist auch wichtig.
- 49:36Wenn wir zum Beispiel wieder bei Web AP IS über http sind.
- 49:40Du kannst nicht immer mit 200 ok antworten und sagen.
- 49:44Sage ich mal quasi per Statuscode sagen, ja, völlig in
- 49:48Ordnung, was hier passiert ist. Aber eigentlich ist irgendein
- 49:50interner Fehler aufgetreten, weil Daten nicht gepasst haben
- 49:53oder vielleicht Parameter gefehlt haben und da muss halt
- 49:56dementsprechend auch eine Fehlerbehandlung stattfinden,
- 49:58dass der Anwender informiert wird, was denn schief gelaufen
- 50:02ist. Und das klingt halt trivial oder
- 50:05so selbstverständlich, aber hat man auch schon anders erlebt,
- 50:07das. Hatten wir auch im Interview mit
- 50:09Anthony, der uns auch noch mal auch aus seiner Sicht
- 50:12mitgebracht. Hat, dass es ja auch durchaus
- 50:14ein häufiger Punkt ist in realen Systemen.
- 50:18Ja, und das ist halt schon interessant, auch einfach wenn
- 50:21du sagst, OK, ich möchte zum Beispiel eine Anfrage stellen,
- 50:23du bist unautorisiert und darfst es aber gar nicht und das.
- 50:27Der Endpunkt gibt dir aber zurück.
- 50:29Alles super. Super.
- 50:32Alles super und und n anderes Beispiel ist auch dahingehend
- 50:36die Dokumentation, dass das natürlich auch dokumentiert ist,
- 50:38was für Fehler auftreten können und wann sie auftreten und n
- 50:42wichtiger Punkt, was wir auch erst vor Kurzem erlebt hatten,
- 50:44als wir so Third Party quasi einen Dienst verwendet haben
- 50:48ist, dass die Doku geupdatet wurde, so nach dem Motto über
- 50:54diesen Endpunkt gibt es jetzt andere Daten.
- 50:57Beziehungsweise das System benötigt andere Daten und über
- 51:00den Endpunkt XY könnt ihr diese Daten erhalten.
- 51:05Wenn ihr euch sag ich mal autorisiert habt, so das haben
- 51:09wir gemacht, dachten uns ja gut, das machen wir vorher auch schon
- 51:12gemacht, der Witz war nur dabei, dass dieses neue Format was das
- 51:16System erwartet und angeblich über einen Endpunkt
- 51:19bereitstellt, nicht geupdatet war, das heißt, die Doku wurde
- 51:22geupdatet, alle Systeme wurden geupdatet und dieser eine
- 51:25Endpunkt war veraltet, da fragt man sich auch.
- 51:27Wie kann sowas passieren? Oder am Ende mussten wir n
- 51:30kleines Skript schreiben, was diese Daten noch mal quasi ja
- 51:34konvertiert hat und das das war ja für uns auch n Tag Arbeit
- 51:38weggefühlt und das sind halt so Sachen, die dürfen nicht
- 51:41passieren wenn man so n Betreiber einer API ist.
- 51:44Meiner Meinung nach definitiv, aber Fakt ist sowas passiert no
- 51:48Problem aber das sollte man halt immer im Hinterkopf haben.
- 51:53Ja, es ist auch immer es ist. Es ist einfach so ne API zu
- 51:58konsumieren und Daten davon abzufragen und dann zu merken,
- 52:03da funktioniert was nicht und auch auf der anderen Seite zu
- 52:06sein und mal zu sagen Okay warte mal ein riesenunterricht ich
- 52:09muss eine API zur Verfügung stellen und was passiert denn
- 52:13aber also oft erst mal. Also ich sag mal das erste Mal
- 52:17auf die Idee zu kommen aber vielleicht auch das zweite Mal
- 52:20weil es dann doch mal irgendwann wieder passiert zu sagen okay.
- 52:23Wir haben jetzt hier was geändert.
- 52:25Ah Moment, das sind ja nicht nur wir, die das machen und benutzen
- 52:29und so weiter also ich hatte zum Beispiel mal den Fall, dass wir
- 52:33n System hatten aus sag ich jetzt mal, also n Gesamtsystem
- 52:37aus 2. Teilsystem und diese Teilsysteme
- 52:40haben miteinander gesprochen und dann haben wir fröhlich vor uns
- 52:43hin programmiert und haben gesagt, ja, lass uns mal das den
- 52:45Datenaustausch verändern, weil das ist doch einfach viel
- 52:48effizienter und viel besser. Oh ja, das ist ne super Idee und
- 52:51dann haben wir das gemacht und ja so ne halbe Stunde später kam
- 52:54dann irgendjemand zu uns an und meinte Leute irgendwie
- 52:57funktioniert bei euch was nicht mehr und wir so oh nein, wir
- 53:00haben ja diese API die wir da auf der einen Seite verwendet
- 53:03haben, die verwenden ja auch noch andere.
- 53:06Das ist uns da mal dann in dem Moment auch erst aufgefallen,
- 53:08dachten so, Oh Gott, Oh Gott, oh Gott, oh Gott, ja stimmt, und
- 53:10das ist dann halt wegen sowas passiert, das ist dann halt auch
- 53:13wieder die Möglichkeit zu sagen okay, wie geht man damit um?
- 53:17Also es gibt auch Möglichkeiten, Stichpunkte, zum Beispiel
- 53:19Versioning der API und und und. Ist aber ein weiterführendes
- 53:22Thema und da sollten wir heute jetzt nicht mehr darauf
- 53:24eingehen, glaube ich. Ja, deswegen ich würde sagen,
- 53:27wir haben das auch ausführlich besprochen.
- 53:28Ich, ich kann es ja noch mal so ein bisschen.
- 53:31Zusammenfassen, was wichtig denn bei also nicht noch mal was eine
- 53:36API ist, sondern was jetzt quasi so.
- 53:39Gute Punkte sind, wenn man jetzt beispielsweise ne eigene API
- 53:43entwickeln möchte. Also ganz klar sind für mich
- 53:46halt ne, die Dokumentation ist entscheidend, damit jeder weiß
- 53:49wie sie zu verwenden ist. Aber das gilt so für beide
- 53:51Seiten. Die Fehlerbehandlung, was wir
- 53:54gesagt hatten, ist halt wichtig, dass man da wirklich konsequent
- 53:57ist. Bei dem ganzen naming
- 54:00Konvention, die man verwendet, dass man da auch einfach
- 54:03einheitlich ist, dass man quasi n klares Muster hat, würd ich
- 54:06noch sagen, das hatten wir eben nur so n bisschen am Rande
- 54:08erwähnt, aber finde ich ist auch ein guter Punkt, der sich sage
- 54:12ich mal so Instant umsetzen lässt.
- 54:15Wenn man das im Hinterkopf hat. Also da braucht man ja nicht sag
- 54:17ich mal viel wissen drüber, aber das sind halt Sachen, das ist
- 54:20einfach einheitlich ist, weil das fördert auch irgendwie
- 54:23nachher dieses Intuitive verwenden.
- 54:27Genau, was hatten wir noch. Die Vorteile könnten wir noch
- 54:30mal sagen Warum überhaupt AP is, könnte man noch mal
- 54:33zusammenfassen, da hatten wir ja gesagt, also es ist einerseits
- 54:36modular wiederverwendbar, was ein riesen Punkt ist.
- 54:39Beispielsweise hatten wir den Bezahlservice genannt, der jetzt
- 54:42von sämtlichen Systemen, die irgendwelche Bezahlvorgänge
- 54:45beinhalten, von denen verwendet werden kann, ohne dass jeder
- 54:49jetzt seinen eigenen Bezahldienst quasi
- 54:51implementieren muss, dass wir halt so ein riesen Punkt dabei.
- 54:55Das ganze skaliert halt dadurch super.
- 54:58Ne, also du kannst beispielsweise auch ohne
- 55:01Probleme deine Systeme erweitern, ist vielleicht noch
- 55:04so n Punkt, den hatten wir ja noch nicht so richtig
- 55:06herauskristallisiert, was daran geil ist.
- 55:08Du kannst ja Endpunkte. Sag ich mal über die Zeit
- 55:12hinzufügen und damit mehr Funktionalität in deinen Service
- 55:15reinbringen und gezielt nach außen gehen und das halt auch
- 55:18noch n supergeiler Punkt und halt auch Sicherheitsaspekte wie
- 55:23die Analogie mit dem Papa Fragen.
- 55:25Das lässt sich damit halt auch super umsetzen.
- 55:27Die hat mir auch sehr gut gefallen.
- 55:28Und natürlich, liebe Zuhörerin, lieber Zürcher, wenn du anfangen
- 55:31möchtest ne API mal zu schreiben, mach das was Tino
- 55:35gesagt hat und was ich nachgeplappert habe.
- 55:37Ich wollt es ja nur noch mal unterstreichen, Tino einfach mal
- 55:40anfangen, ja. Nicht so viel drüber gedacht,
- 55:43genau nicht verkomplizieren das Ganze genau.
- 55:47Ja dann würde ich sagen, haben wir das doch sehr ausführlich
- 55:50besprochen und eine gute Einleitung gegeben und ich hoffe
- 55:53die Fragen die auf uns herangetragen wurden.
- 55:56Wird auch beantwortet worden. Vielen dank Fabis hat mir mega
- 56:00Spaß gemacht, wieder war ne coole Folge, ist ja immer cool
- 56:02wenn man danke danke wenn man so über grundlegende Themen einfach
- 56:08noch mal spricht und sich das vor Augen führt was eigentlich
- 56:11dahinter steckt, warum weshalb das finde ich halt immer super
- 56:14spannend, weil ich glaube man kommt irgendwann in seiner
- 56:17Software entwicklungskarriere an den Punkt wo jemand sagt API und
- 56:20wie du schon meintest, dass man denn je nach Branche wo man
- 56:23arbeitet sofort immer ein Bild von irgendwas im Kopf hat.
- 56:26Und dann sofort in seiner Welt ist ne, ist halt auch spannend
- 56:30das noch mal ganz ja aus der Vogelperspektive sozusagen zu
- 56:33betrachten und mal ganz grundlegend, deswegen hat mir
- 56:37wirklich viel Spaß gemacht. Vielen Dank.
- 56:39Und Liebe zuhören, liebe Zuhörer, ich hoffe oder wir
- 56:42hoffen, dir hat die Folge auch gefallen und du hattest Spaß
- 56:44dabei und vielleicht noch die ein oder andere Info
- 56:46rausgezogen, die dich weiterbringt.
- 56:49Falls ja, freut uns das natürlich sehr.
- 56:52Dann würdest du uns auch freuen, wenn du den Podcast
- 56:53weiterempfiehlst. Falls er dir gefällt, vielleicht
- 56:56so an 23 Freunde einer wär auch OK, 2 wären besser.
- 57:01Die links zu einem Plattform findest du wie immer in den
- 57:04Shownotes. Ansonsten, wenn du Feedback zu
- 57:08der Folge hast oder auch Anmerkungen zu dem API Thema,
- 57:11Lass es uns gerne wissen. Unsere Podcast Mail findest du
- 57:13ebenfalls in den Shownotes und ansonsten würde ich sagen bis
- 57:16zum nächsten Mal wieder, wenn wir uns alle wieder hören und ja
- 57:20bis dahin eine schöne Zeit und bis zum nächsten Mal deine
- 57:24Coding Buddies. Gemeinsam besser.