Die richtige Architektur für iOS, um eine Verbindung zur Datenbank herzustellen?

Ich bin ein Webentwickler, der derzeit mobile (iOS / Android) Anwendungen erstellt.

Als solches versuche ich zu verstehen, wie ich die mobile Anwendung für den Zugriff auf auf einem zentralen Server gespeicherte Daten (Posten / Aktualisieren / Löschen) entwickeln soll.

Nehmen wir zur Veranschaulichung an, ich erstelle eine mobile Rezeptanwendung (mit dem Namen "MyRecipeApp"). Einige Rezepte, die ich mit anderen Rezeptbenutzern von MyRecipeApp teilen möchte, und einige Rezepte, die ich für mich behalten möchte.

Um Rezepte gemeinsam zu nutzen, werden alle (privaten und gemeinsam nutzbaren) Rezepte in einer zentralen (Server-) Datenbank gespeichert, und die MyRecipeApp greift auf diese Datenbank zu, um diese Informationen abzurufen.

Als solches habe ich ein paar Fragen:

Wie greife ich mit MyRecipeApp auf die Datenbank zu? Mache ich meine Datenbank öffentlich zugänglich, damit MyRecipeApp mit der Datenbank kommunizieren kann? Wenn ja, scheint das unsicher.

Harte ich SQL-Code in MyRecipeApp (z. B. SELECT * FROM RECIPES WHERE USER = "John Smith"), um auf die Datenbank zuzugreifen, um Rezepte abzurufen? Wenn dies der Fall ist, scheint dies in dem Sinne unsicher zu sein, dass jemand einfach meine mobile App hacken und die SQL ändern könnte, um Informationen abzurufen.

Senden Sie den Benutzernamen / das Kennwort des Benutzers bei jedem Abruf an die Datenbank? Wenn ja, wie verschlüsseln Sie den Datenverkehr zwischen der Datenbank und MyRecipeApp?

Woran denke ich sonst nicht, wenn ich eine mobile Anwendung entwickeln soll?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage