Wie man ein Backend für SwiftUI erstellt?
In diesem Tutorial lernen Sie, wie Sie ein vollständiges Backend für eine SwiftUI iOS-App mit Back4App erstellen.
Wir zeigen Ihnen, wie Sie das Parse Swift SDK in Ihr SwiftUI-Projekt integrieren und die wichtigsten Funktionen von Back4App nutzen können – wie Datenbankverwaltung, Cloud-Code-Funktionen, REST- und GraphQL-APIs, Benutzerauthentifizierung und Echtzeitanfragen – um ein sicheres, skalierbares Backend zu erstellen.
Dieser Ansatz hilft Ihnen, Daten sicher zu speichern, serverseitige Operationen durchzuführen, ohne Ihre eigene Infrastruktur einzurichten, und Ihre iOS-App oder Web-App nach Bedarf einfach zu skalieren.
Sie werden auch sehen, wie die schnelle Einrichtung und die intuitive Umgebung von Back4App die Zeit und den Aufwand im Vergleich zur manuellen Konfiguration Ihres eigenen Servers und Ihrer Datenbank drastisch reduzieren können.
Am Ende werden Sie verstehen, wie man ein Backend für SwiftUI erstellt, das auf eine Produktionsumgebung erweitert oder mit benutzerdefinierter Logik und APIs integriert werden kann.
Lassen Sie uns mit der Erstellung eines robusten, skalierbaren Backends mit minimalem Aufwand beginnen!
- Ein Back4app-Konto und ein neues Back4app-Projekt Erste Schritte mit Back4app. Wenn Sie kein Konto haben, können Sie eines kostenlos erstellen. Befolgen Sie die obige Anleitung, um Ihr Projekt vorzubereiten.
- Grundlegende SwiftUI-Entwicklungsumgebung Sie benötigen Xcode auf Ihrem Computer installiert und ein grundlegendes SwiftUI- oder iOS-App-Projekt eingerichtet.
- Swift Package Manager oder CocoaPods Um das Parse Swift SDK hinzuzufügen. Dokumentation des Parse Swift SDK.
- Vertrautheit mit Swift und SwiftUI Wenn Sie neu in SwiftUI sind, überprüfen Sie Apples SwiftUI-Dokumentation. bevor Sie beginnen.
Stellen Sie sicher, dass alles bereit ist, bevor Sie beginnen. Ihr Back4app-Projekt einzurichten und Ihre lokale SwiftUI-Umgebung vorzubereiten, wird Ihnen helfen, leichter folgen zu können.
Der erste Schritt beim Erstellen Ihres SwiftUI-Backends auf Back4App besteht darin, ein neues Projekt zu erstellen. Wenn Sie noch keines erstellt haben, folgen Sie diesen Schritten:
- Melden Sie sich bei Ihrem Back4app-Konto an.
- Klicken Sie auf die Schaltfläche „Neue App“ in Ihrem Back4app-Dashboard.
- Geben Sie Ihrer App einen Namen (z. B. „SwiftUI-Backend-Tutorial“).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Sobald das Projekt erstellt ist, wird es in Ihrem Back4app-Dashboard aufgeführt. Dieses Projekt wird die Grundlage für alle Backend-Konfigurationen sein, die in diesem Tutorial besprochen werden.
Back4app basiert auf der Parse-Plattform, um Ihre Daten zu verwalten, Echtzeitfunktionen bereitzustellen, die Benutzerauthentifizierung zu handhaben und mehr. Die Verbindung Ihrer SwiftUI-Anwendung mit Back4app umfasst die Installation des Parse Swift SDK und die Initialisierung mit den Anmeldeinformationen aus Ihrem Back4app-Dashboard.
Rufen Sie Ihre Parse-Schlüssel ab: In Ihrem Back4app-Dashboard navigieren Sie zu den „App-Einstellungen“ oder dem Abschnitt „Sicherheit & Schlüssel“, um Ihre Anwendungs-ID und Client-Schlüssel (oder JavaScript-Schlüssel) zu finden. Sie finden auch die Parse-Server-URL (oft im Format https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Installieren Sie das Parse Swift SDK:
Wenn Sie Swift Package Manager, öffnen Sie Ihr Projekt in Xcode, und dann:
- Datei → Pakete hinzufügen → geben Sie die URL ein https://github.com/netreconlab/Parse-Swift.git.
- Wählen Sie „Bis zur nächsten Hauptversion“ aus den Versionsregeln und bestätigen Sie.
Wenn Sie CocoaPods:
Initialisieren Sie Parse in Ihrer App. Zum Beispiel in Ihrer App-Struktur:
Durch das Abschließen dieses Schrittes haben Sie eine sichere Verbindung zwischen Ihrem SwiftUI-Frontend und dem Back4app-Backend hergestellt. Alle Anfragen und Datenübertragungen werden vom Parse Swift SDK verarbeitet, was die Komplexität manueller REST- oder GraphQL-Aufrufe verringert (obwohl Sie diese bei Bedarf weiterhin verwenden können).
Mit Ihrem Back4app-Projekt, das eingerichtet und das Parse Swift SDK integriert ist, können Sie nun beginnen, Daten zu speichern und abzurufen. Unten finden Sie ein einfaches ParseObject Beispiel. Angenommen, wir haben eine Todo Struktur:
Ein neues Todo speichern:
Alle Todos abfragen:
Alternativ können Sie Back4app’s REST-API Endpunkte oder GraphQL:
GraphQL:
Die Möglichkeit, mehrere Optionen (Parse Swift SDK, REST, GraphQL) zu haben, ermöglicht es Ihnen, den Ansatz zu wählen, der am besten zu Ihrem Arbeitsablauf passt.
Standardmäßig erlaubt Parse Schemaerstellung on the fly, aber Sie können auch Ihre Klassen im Back4app-Dashboard definieren, um mehr Kontrolle zu haben.
- Navigieren Sie zum Abschnitt „Datenbank“ in Ihrem Back4app-Dashboard.
- Erstellen Sie eine neue Klasse (z. B. „Todo“) und fügen Sie relevante Spalten hinzu, wie title (String) und isCompleted (Boolean).
![Neue Klasse erstellen Neue Klasse erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4app unterstützt verschiedene Datentypen: String, Zahl, Boolean, Objekt, Datum, Datei, Zeiger, Array, Relation, GeoPoint, und Polygon. Sie können den geeigneten Typ für jedes Feld auswählen.
![Spalte erstellen Spalte erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Back4app bietet auch einen AI-Agenten an, der Ihnen helfen kann, Ihr Datenmodell zu entwerfen:
- Öffnen Sie den AI-Agenten von Ihrem App-Dashboard.
- Beschreiben Sie Ihr Datenmodell in einfacher Sprache (z.B. „Bitte erstellen Sie ein neues ToDo-Klassenschema.“).
- Lassen Sie den AI-Agenten das Schema für Sie generieren.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Wenn Sie relationale Daten haben—sagen wir, ein Kategorie Objekt, das auf mehrere Todo Elemente verweist—können Sie Zeiger oder Beziehungen in Parse verwenden. Zum Beispiel:
Bei Abfragen können Sie auch include Zeigerdaten einfügen:
Für Echtzeit-Updates bietet Back4app Live Queries. In Ihrer SwiftUI-App können Sie Änderungen in einer bestimmten Klasse abonnieren:
- Aktivieren Sie Live Queries in Ihrem Back4app-Dashboard unter Servereinstellungen.
- Abonnieren im Code.
Wann immer ein Todo auf dem Server erstellt, aktualisiert oder gelöscht wird, wird Ihre App in Echtzeit benachrichtigt. Diese Funktion ist sehr nützlich für kollaborative oder dynamische Apps, die eine sofortige Datensynchronisierung erfordern.
Back4app bietet Zugriffskontrolllisten (ACLs) und Klassenebene Berechtigungen (CLPs) für robuste Datensicherheit. Diese ermöglichen es Ihnen, einzuschränken, wer Daten auf Objekt- oder Klassenbasis lesen oder schreiben kann, und stellen sicher, dass nur autorisierte Benutzer Ihre Daten ändern können.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Eine ACL wird auf einzelne Objekte angewendet. Zum Beispiel, um sicherzustellen, dass nur ein bestimmter Benutzer ein Todo lesen/schreiben kann:
CLPs regeln die Standardwerte einer gesamten Klasse, wie z.B. ob die Klasse öffentlich lesbar oder schreibbar ist oder ob nur bestimmte Rollen darauf zugreifen können.
- Gehen Sie zum Back4app-Dashboard und wählen Sie Ihre App aus.
- Öffnen Sie den Datenbank Abschnitt, wählen Sie eine Klasse (z.B. Todo).
- Öffnen Sie die Klassenebene Berechtigungen Registerkarte.
- Konfigurieren Sie Standardwerte wie „Erfordert Authentifizierung“ oder „Kein Zugriff.“
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Diese Berechtigungen setzen eine breite Basis, während ACLs Ihnen ermöglichen, die Sicherheit auf Objektebene fein abzustimmen. Die Kombination beider sorgt für ein starkes Sicherheitsmodell. Für weitere Details siehe App-Sicherheitsrichtlinien.
Cloud-Code ermöglicht es Ihnen, benutzerdefinierten serverseitigen Swift (oder JavaScript) Code auszuführen, ohne Server verwalten zu müssen. Es ist ideal, um Geschäftslogik, Datenvalidierungen, Trigger oder Backend-Integrationen hinzuzufügen, die nicht vom Client aus ausgeführt werden sollten.
- Schreiben Sie Ihren Cloud-Code in einer Datei wie main.js (JavaScript) oder nutzen Sie die auf Swift basierende Cloud-Code-Umgebung.
- Bereitstellen in Ihrem Back4app-Projekt. Der Code wird in der Umgebung des Parse-Servers ausgeführt, sodass Sie keinen eigenen Server warten müssen.
- Aufrufen Sie Ihren Cloud-Code vom Client aus über das Swift SDK, REST oder GraphQL.
- Geschäftslogik: Komplexe Datenvalidierungen, Feldberechnungen oder externe Integrationen.
- Daten-Trigger: Logik ausführen, wenn ein Objekt gespeichert, aktualisiert oder gelöscht wird.
- Sicherheit: Schützen Sie sensible Operationen vom Client, indem Sie sie auf der Serverseite ausführen.
Unten ist ein Beispiel JavaScript Cloud Code (da Cloud Code hauptsächlich JS auf Back4App verwendet), der die Textlänge berechnet:
- Konfigurieren Sie Ihren Kontoschlüssel:
- Bereitstellen Cloud Code:
Von Swift:
Via REST:
Back4app verwendet die ParseUser Klasse zur sicheren Authentifizierung. Passwort-Hashing, Sitzungstoken und Daten werden automatisch verarbeitet, sodass Sie sich auf die Logik der App konzentrieren können.
Registrieren Sie einen neuen Benutzer:
Melden Sie sich als bestehender Benutzer an:
Sitzungstoken werden automatisch von Parse verwaltet. Sie können sich abmelden:
Integrationen mit Google, Apple, Facebook, usw. sind mit zusätzlicher Einrichtung möglich. Überprüfen Sie die Dokumentation zum sozialen Login für weitere Details.
Aktivieren Sie die E-Mail-Verifizierung in Ihrem Back4app-Dashboard und konfigurieren Sie E-Mail-Benachrichtigungen zur Passwortzurücksetzung, damit Benutzer ihre Konten sicher wiederherstellen können. Für Passwortzurücksetzungen:
Parse umfasst ParseFile für den Umgang mit Datei-Uploads:
Fügen Sie es zu einem ParseObject:
Standardmäßig sind Dateien über eine öffentliche URL zugänglich. Sie können die Dateisicherheit mit Parse Server-Einstellungen. Für strengere Datei-Kontrollen stellen Sie sicher, dass nur authentifizierte Benutzer oder bestimmte Rollen Dateien hochladen oder abrufen können.
Cloud-Jobs ermöglichen es Ihnen, wiederkehrende Aufgaben wie das Bereinigen von Daten oder das Versenden von E-Mails zu planen und auszuführen.
Nach der Bereitstellung, planen Sie es über das Back4app-Dashboard unter Servereinstellungen > Hintergrundjobs.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhooks ermöglichen es Ihrer Back4app-App, HTTP-Anfragen an externe Dienste (wie Stripe) zu senden, wann immer bestimmte Ereignisse auftreten. Dies ist hilfreich, um in Drittanbieter-Tools oder andere serverseitige Integrationen einzuhaken.
- Gehen Sie zu Webhooks in Ihrem Back4app-Dashboard > Mehr > WebHooks.
- Fügen Sie einen Endpunkt hinzu (z.B. https://your-service.com/webhook).
- Konfigurieren Sie welche Ereignisse (z.B. neuer Datensatz in der Todo-Klasse) den Webhook auslösen.
![Hinzufügen eines Webhooks Hinzufügen eines Webhooks](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Zum Beispiel könnten Sie eine Slack-Nachricht senden, wann immer ein Benutzer eine neue Aufgabe erstellt. Dies hilft Ihnen, externe Dienste mit Ihren Back4app-Daten synchron zu halten.
Die Back4app Admin App ist eine webbasierte Verwaltungsoberfläche für nicht-technische Benutzer, um CRUD-Operationen an Ihren Daten durchzuführen. Sie bietet eine benutzerfreundliche Benutzeroberfläche, die vom Parse Dashboard getrennt ist, was die Verwaltung von Daten in der Produktion erleichtert.
Gehen Sie zu Ihrem App-Dashboard > Mehr > Admin App und klicken Sie auf „Admin App aktivieren.“
![Admin App aktivieren Admin App aktivieren](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Erstellen Sie einen Admin-Benutzer, der automatisch eine Admin-Rolle und zugehörige Klassen generiert. Wählen Sie eine Subdomain für die Admin-Oberfläche und melden Sie sich dann an, um Ihre Daten über eine einfache Point-and-Click-Benutzeroberfläche zu verwalten.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Indem Sie diesem umfassenden Leitfaden folgen, haben Sie gelernt:
- Wie man ein Backend für SwiftUI mit Back4app und dem Parse Swift SDK erstellt.
- Wie man Daten sicher mit benutzerdefinierten Klassenschemas und Beziehungen speichert.
- Wie man Echtzeitanfragen (Live Queries) für sofortige Datenaktualisierungen integriert.
- Wie man Sicherheitsmaßnahmen mit ACLs und CLPs anwendet, um den Datenzugriff zu schützen und zu verwalten.
- Wie man Geschäftslogik über Cloud Code ausführt.
- Wie man die Dateispeicherung, Authentifizierung und Planung von Hintergrundaufgaben mit Cloud Jobs verwaltet.
- Wie man Ihre App mit externen Diensten über Webhooks integriert.
Mit diesen Fähigkeiten können Sie eine iOS-App oder eine Web-App erstellen, die einfach zu verwalten, sicher und bereit zum Skalieren ist. Erkunden Sie weitere fortgeschrittene Funktionen – wie rollenbasierte Berechtigungen, Push-Benachrichtigungen oder fortgeschrittenes Caching. Sie können auch andere APIs integrieren oder Ihren Cloud Code anpassen, um spezielle Anwendungsfälle zu erfüllen.
Viel Spaß beim Programmieren, und genieße es, großartige Apps auf Back4App zu erstellen!
- Produktionsbereite SwiftUI-App: Erweitere dieses Backend, um komplexere Datenmodelle, Caching und Leistungsverbesserungen zu handhaben.
- Erweiterte Funktionen: Tauche tiefer in spezialisierte Authentifizierung, rollenbasierte Zugriffe oder Integrationen von Drittanbieter-APIs (wie Stripe) ein.
- Erkunde die offiziellen Dokumente von Back4App: Für tiefere Einblicke in Server-seitige Sicherheit, Protokollanalyse und fortgeschrittene Datenbankoptimierung.
- Überprüfe zusätzliche Tutorials: Echtzeit-Chat, standortbasierte Dienste oder Multi-Tenant-Anwendungen – kombiniere die hier gelernten Methoden mit externen APIs, um anspruchsvolle, reale Lösungen zu schaffen.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)