Was zählt als Backend Programmierung?

6 Antworten

Bei einer einfachen Client-Server-Architektur läuft auf dem Client das Frontend und auf dem Server das Backend. Der Client bzw. das Frontend kann aber sehr wohl auch ein wenig Logik enthalten, also auch ein if.

Die beiden Begriffe sind aber nicht genau definiert. Generell ist das Backend näher am System, das Fronten näher am Nutzer.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

Das muss nichts mit Datenabaken zu tun haben. Auch sind aber reine if Abfragen keinesfalls immer Backend. Ein kleines Beispiel hierzu wäre JavaScript im Frontend (also im Browser und kein node.js!) und PHP als Backend. So hast du z.B. folgende Situation

<html>
  <body>
    <form action="datenbankZeug.php">
      <input type="text" id="wort" name="wort">
      <button type="submit">Senden</button>
    </form>
  </body>
</html>

Jetzt willst du z.B. das Wort Baum unter keinen Umständen in die Datenbank schreiben also denkst du dir du bist smart und machst ein if im javascript.

window.onload = () => {
  let wortInput = document.querySelector('#wort');
  wortInput.addEventListener('input',() => {
//wird bei jedem input im Textfeld ausgelöst
    if(wortInput.value === 'Baum'){
      //wenn genau Baum drin steht input leeren
      wortInput.value = '';
    }
  });
}

Da jetzt das JavaScript script ständig den Input anpasst, kann theoretisch im schlimmsten Fall ein leerer String in die Datenbank kommen, aber niemals "Baum".

Deaktiviert jetzt aber der User im Frontend die Ausführung von JavaScript oder schickt selbst (ohne das Textfeld zu verwenden z.B. mit python) "Baum" an datenbankZeug.php würde "Baum" doch in der Datenbank laden. Deswegen prüfst du alle sicherheitsrelvaten Sachen im Backend nochmals mit php. Natürlich könnte man auch auf die Idee kommen einfach direkt im Js in die Datenbank zu schreiben, aber dann könnte jeder im Frontend die Datebankpasswörter lesen bzw. auch jeden Scheiß in deine Datenbank schreiben. Deshalb ebene z.B. PHP im Backend für die Kontroller der Inputs vom Nutzer und die Kommunikation mit der Datenbank.

<?php
  $wort = $POST["wort"];
  if($wort != "Baum"){
    echo "Alles ok ;)";
    //Schreibe $wort in die Datenbank
  }
  else {
    echo "Baum erkannt :/";
  }
?>

ps.: Ich habe den Code nicht getestet, da dieser nur als Beispiel dient. Alles ist also aus dem Kopf einfach "runterprogrammiert".

Woher ich das weiß:Studium / Ausbildung – Informatikstudent

Die Programmierung selbst ist weder noch.

Wenn du auf eine Website gehst, siehst du immer das Frontend. Also das, was der Besucher sehen soll. Das Backend ist die Administrationsoberfläche für denjenigen, der die Website dann bearbeitet - also Artikel schreibt oder sowas.

Du als Programmierer programmierst eine If‘s usw., um damit das Frontent und das Backend zu gestalten.

Die Grenzen können fließend sein. Am Schluss ist es eine Definitionssache. Bei Websites lässt sich eigentlich eine ganz gute Grenze ziehen: Alles was dein Browser macht ist Frontend, alles was der Server macht Backend.

Bei Java oder anderen Programmiersprachen mit GUI legen Systemarchitekten/Entwickler (projektspezifisch) die Grenze fest. Eine Grenze könnte sein: Alles was der Darstellung und Eingabe von Daten dient ist Frontend, alles was Verarbeitung und Speichern angeht, ist Backend.

Backend würde ich nur zur Architektur von konnektiven Diensten zählen, da gibt es das Frontend, die API Layer und eben das Backend. Das kann auch total simpel sein. Alles was nicht beim Nutzer auf dem Gerät passiert würde ich Backend nennen. Javascript/Webassembly auf dem Rechner ist Frontend.

Bin aber kein Web Dev, könnte also daneben liegen.