Ajax Datenaustausch?

1 Antwort

JavaScript sollte vorwiegend für View-Logik (Animationen, Elemente dynamisch verschieben, einfache Prevalidation von Feldern, u.ä.) eingesetzt werden.

Wenn es darum geht, Anwendungslogik zu implementieren, ist diese in der Regel im Backend besser aufgehoben. Gerade wenn es um Datensicherheit geht, die jeweilige Berechnung also unverfälscht ablaufen muss, sollte sie im Backend vorgenommen werden. Klassische Beispiele wären bei einem Shopsystem (Warenkorb/Berechnung des Preises) oder einem Login zu finden. Würden die Operationen im Frontend erfolgen, wären sie leicht manipulierbar.

Ein weiterer Aspekt ist Datenpersistenz. Einige Daten (z.B. Suchergebnisse auf bestimmte Queries, Prescaling von Bildern, ...) können serverseitig gecacht werden, da sie für alle Nutzer gleich sind. Sie müssen meist eh aus dem Backend (bspw. einer Datenbank) geholt werden, Filter- oder Sortierregeln kann man dort also auch gleich vornehmen.

Kacke103 
Fragesteller
 29.07.2022, 12:38

Alles klar, über die Sicherheit hatte ich noch garnicht nachgedacht... Was wenn man jetzt zb. Nh BMI Rechner programmiert, da hat man ja keine sensiblen Daten, also wäre es doch effektiver dies beim client zu berechnen, oder?

0
daCypher  29.07.2022, 13:32
@Kacke103

Ja, in dem Fall kannst du es machen. Um nochmal zum Thema "Shop" zu kommen: Da kannst du für die reine Web-Ansicht auch den Preis per Javascript berechnen lassen. Wenn der Warenkorb abgeschickt wird, musst du aber natürlich auf dem Server den tatsächlichen Preis berechnen lassen. Wir machen es sogar so, dass wir die beiden Preise vergleichen und bei einer Abweichung die Bestellung abbrechen.

Mir fällt jetzt spontan kein Beispiel ein, wo es vom Rechenaufwand her Sinn macht, das auf dem Server berechnen zu lassen. Es gibt ja z.B. auch Excel als Web-Version, wo alle Berechnungen in Browser gemacht werden. Das läuft trotzdem schnell. Oder vielleicht kennst du auch "Scratch". Das ist eine Programmierumgebung, mit der Kinder programmieren lernen können. Das läuft komplett in JavaScript und es gibt manche, die damit einfache 3D-Spiele bauen

1
regex9  29.07.2022, 14:03
@daCypher

Ein Beispiel wäre eine Volltextsuche, die auch alle Subseiten mit berücksichtigt.

0
daCypher  29.07.2022, 14:23
@regex9

Ich meinte jetzt eigentlich Dinge, die rein vom Rechenaufwand zu aufwändig wären. Bei einer Volltextsuche über mehrere Seiten fehlen dem Client natürlich die Daten. Das Gleiche gilt auch z.B. für Tabellen, wo die Daten aus einer Datenbank geladen werden. Da macht es Sinn, die Daten per Ajax nachzuladen.

0