Quickstarters
Feature Overview
Wie man ein Backend für Swift erstellt?
44 min
einführung in diesem tutorial lernen sie, wie sie ein vollständiges backend für eine swift anwendung mit back4app erstellen wir werden die integration wesentlicher back4app funktionen durchgehen – wie z b datenbankverwaltung, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung, echtzeitanfragen (live queries) und mehr – um ein sicheres, skalierbares und robustes backend zu erstellen, das nahtlos mit ihrer swift basierten client app kommuniziert durch die nutzung der schnellen einrichtung und der intuitiven umgebung von back4app werden sie die benötigte zeit und den aufwand im vergleich zur manuellen konfiguration von servern und datenbanken drastisch reduzieren unterwegs sammeln sie praktische erfahrungen mit wichtigen funktionen, einschließlich fortschrittlicher sicherheitsmerkmale, der planung von aufgaben mit cloud jobs und der einrichtung von webhooks für externe integrationen am ende dieses tutorials werden sie gut vorbereitet sein, um diesen grundlegenden backend service in eine produktionsbereite anwendung zu erweitern oder bei bedarf benutzerdefinierte logik und drittanbieter apis einfach zu integrieren sie werden sehen, wie die arbeit mit einer baas plattform die backend entwicklung in ein reibungsloseres erlebnis verwandeln kann, insbesondere beim erstellen eines schnellen backends oder einer anderen backend app lassen sie uns anfangen! voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen folgen sie der obigen anleitung, um ihr projekt vorzubereiten eine swift entwicklungsumgebung sie können xcode https //developer apple com/xcode/ als ihre ide verwenden, um ios oder macos anwendungen mit swift zu erstellen stellen sie sicher, dass sie eine aktuelle stabile version von xcode auf ihrem computer installiert haben vertrautheit mit der programmiersprache swift wenn sie neu in swift sind, überprüfen sie die offizielle swift dokumentation https //swift org/documentation/ oder ein tutorial für anfänger, bevor sie beginnen parse swift sdk wenn sie cocoapods verwenden, fügen sie pod 'parseswiftog' zu ihrer podfile hinzu oder wenn sie den swift package manager verwenden, fügen sie package(url "https //github com/netreconlab/parse swift git", from "5 0 0") zu ihren abhängigkeiten hinzu lesen sie mehr in den parse swift dokumenten https //docs parseplatform org/parse swift/guide/ stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen ihr back4app projekt einzurichten und ihre lokale swift umgebung vorzubereiten, wird ihnen helfen, leichter folgen zu können schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen der erste schritt beim erstellen ihres swift backends auf back4app besteht darin, ein neues projekt zu erstellen dieses projekt ist die grundlage für alle backend konfigurationen, die in diesem tutorial besprochen werden swift kann nahtlos mit ihrem neuen backend über das parse swift sdk verbunden werden lassen sie uns sehen, wie ein neues projekt erstellen melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem back4app dashboard benennen sie ihre app (z b „swift backend tutorial“) nach der erstellung sehen sie die neue app in ihrem dashboard aufgelistet hier konfigurieren sie ihre datenbank, cloud funktionen und andere wichtige einstellungen für ihre backend app verbinden sie das parse swift sdk back4app wird von der parse plattform unterstützt, die die grundlage für ihre datenbank, echtzeit updates, authentifizierung und mehr bietet ihre swift anwendung kann sich mit back4app verbinden, indem sie das parse swift sdk installieren und initialisieren rufen sie ihre parse schlüssel ab gehen sie in ihrem back4app dashboard zu den „app einstellungen“ oder „sicherheit & schlüssel“ ihrer app, um ihre anwendungs id und client schlüssel sie werden auch ihre parse server url sehen (oft https //parseapi back4app com ) installieren sie das parse swift sdk swift package manager (empfohlen) dependencies \[ package(url "https //github com/netreconlab/parse swift git", from "5 0 0") ] cocoapods pod 'parseswiftog' initialisieren sie parse in ihrer app sie können dies im hauptentry punkt ihres swift projekts tun (z b appdelegate swift oder der swiftui @main struktur) zum beispiel import swiftui import parseswift @main struct myapp app { init() { // replace placeholders with your back4app credentials parseswift initialize( applicationid "your application id", clientkey "your client key", serverurl url(string "https //parseapi back4app com")! ) } var body some scene { windowgroup { contentview() } } } mit diesem setup kann ihr swift client jetzt sichere anfragen an back4app senden sie haben eine robuste verbindung hergestellt, die datenoperationen vereinfacht, ohne manuelle rest oder graphql aufrufe zu erfordern (obwohl sie diese weiterhin verwenden können, wenn sie möchten) schritt 2 – datenbank einrichten in diesem schritt konfigurieren sie ihre backend datenbank auf back4app und sehen, wie sie daten aus ihrem swift code verwalten können back4app verwendet das parse datenmodell, das es ihnen ermöglicht, objekte in klassenähnlichen strukturen zu speichern swift kann leicht mit diesen klassen über das parse swift sdk interagieren erstellen eines datenmodells navigieren sie zum abschnitt „datenbank“ in ihrem back4app dashboard erstellen sie eine neue klasse (z b „todo“) fügen sie spalten hinzu für die benötigten daten, wie „title“ (string) und „iscompleted“ (boolean) sie können auch das parse swift sdk die spalten automatisch erstellen lassen, wenn sie ein objekt zum ersten mal speichern in jedem fall muss ihr schema mit den daten übereinstimmen, die sie speichern, damit ihre app sie nahtlos verarbeiten kann erstellen eines datenmodells mit dem ki agenten back4app bietet einen ki agenten, der ihnen helfen kann, ihr datenmodell zu entwerfen öffnen sie den ki agenten von ihrem app dashboard oder menü beschreiben sie ihr datenmodell in natürlicher sprache zum beispiel „bitte erstellen sie ein neues swift projekt mit einem todo klassenschema “ lassen sie den ki agenten das schema automatisch für sie erstellen daten lesen und schreiben parse swift sdk mit dem parse swift sdk können sie eine struktur erstellen, die dem parseobject entspricht, um ihre daten darzustellen zum beispiel, wenn sie eine todo klasse haben import parseswift struct todo parseobject { // parseobject protocol properties var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } erstellen sie ein todo objekt und speichern sie es var newtodo = todo() newtodo title = "buy groceries" newtodo iscompleted = false task { do { let saved = try await newtodo save() print("saved ", saved) } catch { print("error saving todo ", error) } } alle todo elemente abfragen task { do { let todos = try await todo query() find() print("todos ", todos) } catch { print("error fetching ", error) } } daten lesen und schreiben rest api wenn sie standardmäßige http anfragen bevorzugen, können sie die rest api verwenden zum beispiel, um ein neues todo zu erstellen curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "walk the dog", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo daten lesen und schreiben graphql api graphql wird ebenfalls unterstützt hier ist eine beispielmutation, um ein todo zu erstellen mutation { createtodo(input { fields { title "finish homework" iscompleted false } }) { todo { objectid title iscompleted } } } arbeiten mit live abfragen wenn ihre swift app echtzeit updates benötigt, unterstützt back4app live abfragen für ios aktivieren sie live abfragen in den servereinstellungen ihrer app verbinden sie sich indem sie parse livequeryserverurl in ihrer app angeben parse configuration serverurl = url(string "https //parseapi back4app com")! parse configuration livequeryserverurl = url(string "wss\ //your subdomain b4a io")! abonnieren sie die live updates let subscription = todo query() subscribecallback { subscriptionstate in switch subscriptionstate { case subscribed(let querysubscription) print("subscribed to todo changes!") default break } } jetzt, wann immer ein todo erstellt, aktualisiert oder gelöscht wird, erhalten sie echtzeit updates dies ist besonders hilfreich für kollaborative oder zeitkritische funktionen in ihrer swift backend entwicklung schritt 3 – anwendung von sicherheit mit acls und clps was sind acls und clps? back4app verwendet access control lists (acls) und class level permissions (clps) um ihre daten zu sichern acls ermöglichen es ihnen, berechtigungen pro objekt zu definieren, während clps standardzugriffsregeln für eine gesamte klasse festlegen klassenebene berechtigungen im back4app dashboard gehen sie zu datenbank und wählen sie eine klasse (z b „todo“) öffnen sie class level permissions konfigurieren sie einschränkungen für lese , schreib oder öffentlichen zugriff access control lists (acls) beim erstellen oder aktualisieren eines parseobject in swift können sie eine acl festlegen zum beispiel var acl = parseacl() // only let the current user read and write acl setreadaccess(userid "current user id", value true) acl setwriteaccess(userid "current user id", value true) var todo = todo() todo acl = acl dies stellt sicher, dass nur der angegebene benutzer dieses objekt lesen oder ändern kann die kombination von acls und clps bildet ein robustes, mehrschichtiges sicherheitsmodell für die daten ihrer app schritt 4 – schreiben von cloud code funktionen warum cloud code? cloud code ermöglicht es ihnen, serverseitige swift logik (oder javascript, wenn sie den ursprünglichen parse cloud code stil verwenden) auszuführen, ohne geheimnisse an den client weiterzugeben es ist perfekt für validierungen, trigger, geplante aufgaben und mehr beispiel funktion hier ist ein beispiel auf javascript basis, aber sie können auch in typescript arbeiten oder von swift aus aufrufen in ihrem back4app cloud code ordner erstellen sie main js parse cloud define("gettaskscount", async (request) => { const query = new parse query("todo") const count = await query count({ usemasterkey true }) return count }) parse cloud beforesave("todo", async (request) => { const todo = request object if (!todo get("title")) { throw "cannot save a todo without a title " } }) sie möchten möglicherweise npm module installieren, indem sie sie in ihrer package json datei einfügen und sie dann in main js nach der bereitstellung können sie diese funktionen aus ihrem swift code mit callfunction aufrufen bereitstellung stellen sie ihren cloud code über folgendes bereit b4a deploy sie können auch über das back4app dashboard bereitstellen, indem sie zu cloud code > functions fügen sie ihren code in den online editor ein und klicken sie auf deploy aufruf aus swift task { do { let result = try await parsecloud callfunction("gettaskscount", with \[string any]\()) print("count ", result) } catch { print("error calling cloud function ", error) } } schritt 5 – authentifizierung konfigurieren benutzerauthentifizierung aktivieren im back4app dashboard , sehen sie eine standard user klasse für benutzerkonten aktivieren sie bei bedarf zusätzliche authentifizierungsanbieter (apple, facebook, google usw ) unter den auth einstellungen ihrer app registrierung und anmeldung (swift) struct user parseuser { var objectid string? var username string? var email string? var password string? var emailverified bool? var createdat date? var updatedat date? var acl parseacl? var originaldata data? } // sign up task { do { var newuser = user() newuser username = "alice" newuser password = "p\@ssword" let signedup = try await newuser signup() print("user signed up ", signedup) } catch { print("error signing up ", error) } } // log in task { do { let user = try await user login(username "alice", password "p\@ssword") print("logged in user ", user) } catch { print("error logging in ", error) } } soziale anmeldung back4app unterstützt die oauth anmeldung mit google, apple und facebook konfigurieren sie diese anbieter auf ihrer auth einstellungsseite und verwenden sie den entsprechenden parse swift integrationscode in ihrer swift app (z b parsefacebookutils oder parseappleutils ) um authentifizierungsabläufe zu verwalten für details siehe die dokumentation zur sozialen anmeldung https //www back4app com/docs/platform/sign in with apple schritt 6 – dateispeicherung verwalten dateispeicherung einrichten sie können bilder, videos oder jede datei in back4app speichern in swift haben sie parsefile let imagedata = data(/ your image bytes /) let parsefile = parsefile(name "photo jpg", data imagedata) task { do { let savedfile = try await parsefile save() print("file saved ", savedfile url ?? "no url") } catch { print("error uploading file ", error) } } dann können sie diese datei an ein parseobject anhängen und speichern rufen sie die url der datei ab, um sie an anderer stelle anzuzeigen oder herunterzuladen sicherheitsüberlegungen um den dateizugriff einzuschränken, können sie die dateikonfiguration des parse servers https //www back4app com/docs/platform/file storage zum beispiel könnten sie nur authentifizierten benutzern erlauben, dateien hochzuladen, oder lese /schreibberechtigungen in ihrem swift code festlegen schritt 7 – e mail verifizierung und passwortzurücksetzung warum verifizierungs und zurücksetzungs e mails? die validierung der e mail eines benutzers stellt sicher, dass es sich um ein echtes, aktives postfach handelt die passwortzurücksetzung hilft ihren benutzern, sicher wieder auf ihr konto zuzugreifen, wenn sie ihre anmeldeinformationen vergessen konfiguration in back4app gehe zu e mail einstellungen und aktiviere e mail verifizierung bearbeite deine e mail vorlagen für sowohl verifizierung als auch zurücksetzen auslösen eines passwort zurücksetzens aus swift task { do { try await user passwordreset(email "alice\@example com") print("password reset email sent!") } catch { print("error requesting password reset ", error) } } schritt 8 – aufgaben mit cloud jobs planen cloud jobs du kannst serverseitige aufgaben auf back4app planen zum beispiel, alte daten zu bereinigen oder wöchentliche berichte zu senden definiere einen job in deinem cloud code und plane ihn über das back4app dashboard parse cloud job("cleanupoldtodos", async (request) => { const now = new date() // example logic remove todos older than 30 days // use master key for privileged operations }) dann kannst du im back4app servereinstellungen > hintergrundjobs , es so planen, dass es täglich oder in einem beliebigen intervall ausgeführt wird schritt 9 – integration von webhooks was sind webhooks? webhooks ermöglichen es ihrer app, automatisch daten an externe dienste zu posten, wann immer bestimmte ereignisse eintreten dies ist perfekt für die integration mit slack, stripe oder anderen drittanbieter apis konfiguration gehen sie in ihrem back4app dashboard zu mehr > webhooks fügen sie einen webhook endpunkt hinzu (z b https //example com/webhook ) wählen sie trigger aus (z b objekterstellung in „todo“) für benutzerdefinierte logik können sie auch anfragen an externe urls in cloud code triggern senden schritt 10 – erkundung des back4app admin panels was ist das admin panel? die back4app admin app ist eine point and click oberfläche für nicht technisches oder support personal sie bietet eine einfache gui, um crud operationen auf ihren daten durchzuführen – ideal für die verwaltung von daten außerhalb ihrer entwicklungsumgebung aktivierung der admin app gehe zum app dashboard > mehr > admin app aktivieren sie die admin app und wählen sie eine subdomain erstellen sie einen admin benutzer sobald aktiviert, kann jeder mit den entsprechenden berechtigungen ihre daten über eine benutzerfreundliche weboberfläche anzeigen und bearbeiten – kein code erforderlich fazit indem sie dieses vollständige tutorial befolgt haben, haben sie gelernt wie man ein backend für swift mit back4app erstellt insbesondere haben sie ein sicheres backend für ihre swift app erstellt eine datenbank mit klassenschemas und datenbeziehungen konfiguriert mit echtzeitabfragen (live queries) für sofortige updates gearbeitet robuste sicherheit mit acls und clps eingerichtet cloud code verwendet, um benutzerdefinierte logik auf der serverseite auszuführen benutzerauthentifizierung mit verifizierung und passwortzurücksetzungen implementiert datei uploads sicher verarbeitet automatisierte aufgaben mit cloud jobs geplant über webhooks gelernt, um externe apis zu integrieren das admin panel für die direkte datenverwaltung erkundet sie haben jetzt einen funktionalen, skalierbaren backend service für ihre swift anwendung—einen, der leicht erweitert werden kann, um komplexere funktionen zu handhaben, sich mit drittanbieterdiensten zu verbinden oder sich an höheren benutzerverkehr anzupassen sie haben auch aus erster hand gesehen, wie die kombination der baas funktionen von back4app und der modernen syntax von swift die backend entwicklung beschleunigen kann nächste schritte erstellen sie eine produktionsbereite swift app durch die ausarbeitung ihres ui/ux integrieren sie erweiterte funktionen wie spezialisierte authentifizierung (rollenbasiert, sso) oder zusätzliche cloud code logik für domänenspezifische regeln schauen sie sich die offiziellen back4app dokumente an für tiefere einblicke in protokolle, analysen oder erweiterte sicherheit entdecken sie andere tutorials zu echtzeit chat, iot dashboards oder standortbasierten apps kombinieren sie diese mit externen apis, um reale herausforderungen zu lösen so bauen sie ein backend für swift mit back4app! viel spaß beim programmieren!