REST API und das Tor nach draußen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • REST API und das Tor nach draußen

    Guten Morgen,
    mit Swift und SwiftUI fühle ich mich inzwischen recht wohl. Ich sehe mich zwar noch immer als blutigen Anfänger, aber es wird besser. Nachdem ich die Daten durch die einzelnen Views bewegen kann, interessiert mich, wie ich mich an eine MySQL-DB anbinden kann. Das Schlüsselwort scheint Rest API zu heißen? Richtig?! Auch wenn die Frage vielleicht doof klingt: Warum finde ich keine konkreten Hilfestellungen für solch eine "service.php" und wieso gibt es so viele Unterschiede? Mir wird nicht 100%ig klar, wie ich mich so anbinde, dass ich die Daten lesen und auch schreiben kann. Ich hätte angenommen, dass das immer gleich ist. Ich habe erwartet, dass ich mit Beispielen überschüttet werde und mich am Code entlanghangeln kann. Könnt ihr mir irgendein Tutorial empfehlen? Ein Cheat Sheet? Oder irgendwas, womit dieser Knoten endlich ein Stück weiter auf geht?
    Danke.
  • Bei der Kommunikation mit einem Server bzw. einer Datenbank etc. auf einem Server musst Du zwischen Client/Frontend (App) und Backend (Server) unterscheiden.

    Oft gibt es einen Trennung zwischen den Entwicklern für die App und dem Backend. Das Backend wird dann von den Entwicklern zur Verfügung gestellt, die auch den Server konfigurieren/betreuen/warten.

    In der App kommuniziert man dann z.B. über eine Rest API mit dem Server, um Daten zu lesen oder zu senden.

    Wenn Du beides selbst entwickeln möchtest, dann hilft es einmal nach Client/Frontend Entwicklung und dann nach Backend Entwicklung zu suchen, da dies häufig getrennt behandelt/erklärt wird. Evtl. gibt es aber auch Tutorials, die beides zusammen behandeln/erklären.
  • REST ist ja nur eine Begrifflichkeit.

    Wichtig wäre zunächst einmal festzulegen welche Sprache du zum Schreiben des Backend verwenden willst. Hier ist ja nicht PHP die einzige Wahl. Wenn du noch nichts kannst, dann wäre Java Spring z.B. ein leichter Einstieg. Dort hast du den Vorteil, dass alles was die Sicherheit angeht eigentlich schon im Packet mitgeliefert wird. Bis hin zur 2-Faktor-Athentifizierung. Der Nachteil ist, dass Du dafür dann wirklich einen Server brauchst auf dem Du das installieren kannst. Die meisten Webhoster bieten so etwas nicht an.

    Bei PHP hast du den großen Vorteil, dass das so gut wie jeder Webhoster anbietet. Der Nachteil ist, dass man bei PHP eben sehr viel verkehrt machen kann wenn man sich nicht auskennt und nachher hat man seinen Server und seine Datenbank so offen wie das A-Lock von Trump :)

    Es gibt auch noch python, oder NodeJS oder oder oder.

    Im Prinzip läuft es halt später so ab:

    Die App schickt einen HTTP-Request (Optimalerweise HTTPS) an den Server um sich zu athentifizieren. Im einfachsten Fall schickst du Login und password mit, im besten Fall machst du es über oAuth2.
    Danach bekommst du eine SessionID vom Server und mit dieser ID kannst du weitere HTTP-Requests schicken, welche entweder daten anfordern oder eben Daten zum schreiben mitliefern. Die Aufgabe des Server ist es sicher zu stellen, dass diese Daten keinen Schadcode beinhalten (Ganz wichtig hier SQLInjection und CSRF) und eben wirklich die Kommunikation nur mit authentifizierten cleints stattfinden kann. Das Ganze ist echt viel Aufwand und sehr viel Arbeit.

    Viel Spaß beim Lernen. Wenn du alle meine Begrifflichkeiten googlest hast du für die nächsten 3 Monate Lernstoff ;)

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)