Quickstarters
Feature Overview
Wie man ein Backend für iOS erstellt?
41 min
einführung in diesem tutorial lernen sie wie man ein backend für ios mit back4app https //www back4app com wir werden die integration wesentlicher back4app funktionen durchgehen – wie datenbankverwaltung, cloud funktionen, rest und graphql apis, benutzerauthentifizierung, dateispeicherung und echtzeitanfragen (live queries) – um ein sicheres, skalierbares und robustes backend für ihre ios anwendung zu erstellen die backend as a service angebote von back4app helfen, die komplexität beim einrichten einer server seite infrastruktur zu reduzieren und die entwicklung zu beschleunigen sie können daten in einem flexiblen nosql datenbankformat speichern, benutzerkonten verwalten, push benachrichtigungen , hinzufügen und erweiterte zugriffskontrollen in einem bruchteil der zeit anwenden, die erforderlich wäre, um eine benutzerdefinierte lösung zu erstellen das bedeutet, dass sie sich darauf konzentrieren können, die benutzererfahrung zu verbessern und kernfunktionen zu implementieren, anstatt sich um die serverwartung oder bereitstellung zu kümmern am ende dieses tutorials haben sie ein fertiges backend, das an reale szenarien angepasst, skaliert werden kann, um erhöhten verkehr zu bewältigen, und mit komplexerer logik oder drittanbieterdiensten , erweitert werden kann sie werden in der lage sein, ein zuverlässiges backend für ihre ios app bereitzustellen, ihren entwicklungsprozess zu beschleunigen und ihre gesamte benutzeroberfläche mit weniger aufwand zu verbessern 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 befolgen sie die obige anleitung, um ihr projekt vorzubereiten grundlegende ios entwicklungsumgebung sie können mit xcode (version 13 0 oder höher) entwickeln xcode installieren https //developer apple com/xcode/ swift package manager oder cocoapods zum hinzufügen von parse swift befolgen sie die parse swift github anweisungen https //github com/netreconlab/parse swift für installationsdetails vertrautheit mit swift und ios konzepten apples swift dokumentation https //docs swift org/swift book/ wenn sie neu in swift oder ios sind, überprüfen sie die offiziellen dokumente oder ein grundlegendes ios tutorial, bevor sie beginnen ein funktionierendes ios umfeld mit xcode sowie ihr kostenloses back4app konto werden ihnen helfen, reibungsloser mitzukommen schritt 1 – erstellen eines neuen projekts auf back4app und verbinden warum ein neues projekt erstellen? ein neues back4app projekt bildet die grundlage für ihre backend entwicklung für ios es bietet alle werkzeuge, die sie benötigen – datenbank, apis, authentifizierung, cloud funktionen – um ein backend schnell und sicher zu erstellen anleitung melden sie sich bei ihrem back4app konto an erstellen sie eine neue app indem sie auf „neue app“ in ihrem back4app dashboard klicken geben sie ihrer app einen namen (zum beispiel „ios backend demo“) sobald ihr neues projekt erstellt ist, wird es in ihrem back4app dashboard angezeigt installation des parse swift sdk und konfiguration der schlüssel back4app basiert im hintergrund auf der parse plattform für ios verwenden sie das parse swift sdk 1 holen sie sich ihre parse schlüssel gehen sie im back4app dashboard zu „app einstellungen“ oder „sicherheit & schlüssel“, um folgendes zu finden anwendungs id client schlüssel (oder swift schlüssel, falls zutreffend) server url (häufig https //parseapi back4app com ) 2 fügen sie das parse swift sdk hinzu wenn sie swift package manager // in package swift or xcode's swift packages package( url "https //github com/netreconlab/parse swift git", from "5 0 0" ) wenn sie cocoapods , fügen sie in ihre podfile pod 'parseswiftog' führen sie dann aus pod install 3 initialisieren sie parse innerhalb ihrer appdelegate swift (oder der haupt swiftui app datei), rufen sie parseswift initialize( ) mit ihren anmeldeinformationen auf import swiftui import parseswift @main struct myapp app { init() { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", // optional serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\\\(error)") } } var body some scene { windowgroup { contentview() } } } herzlichen glückwunsch! ihre ios app ist jetzt mit back4app verbunden, und jede anfrage oder datenübertragung erfolgt automatisch über parse swift schritt 2 – datenbank einrichten 1 erstellen eines datenmodells back4app verwendet einen schema ansatz, bei dem jede klasse/tabelle vom dashboard aus verwaltet werden kann angenommen, wir möchten eine todo klasse erstellen gehen sie zu “datenbank” in ihrem back4app dashboard klicken sie auf “neue klasse erstellen” , benennen sie sie todo , und fügen sie spalten wie title (string) und iscompleted (boolean) hinzu 2 erstellen eines datenmodells mit dem ki agenten der ki agent von back4app kann ihr schema design beschleunigen öffnen sie den ki agenten in ihrem dashboard beschreiben sie ihr datenmodell in einfacher sprache (z b “erstellen sie eine neue todo klasse mit den feldern title und iscompleted”) lassen sie die ki das schema automatisch für sie erstellen 3 daten lesen und schreiben mit dem swift sdk mit parse swift , definieren sie ihre datenstruktur im code zum beispiel import parseswift struct todo parseobject { // parseobject protocol var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } // saving func createtodoitem(title string, iscompleted bool) async { var todo = todo() todo title = title todo iscompleted = iscompleted do { let saved = try await todo save() print("saved objectid \\\\(saved objectid ?? "")") } catch { print("error saving \\\\(error)") } } // querying func fetchtodos() async { do { let todos = try await todo query() find() print("fetched \\\\(todos count) todos") } catch { print("error fetching \\\\(error)") } } 4 daten lesen und schreiben mit der rest api alternativ können sie rest aufrufe verwenden zum beispiel, um ein todo zu erstellen curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5 daten lesen und schreiben mit der graphql api back4app unterstützt auch graphql hier ist ein beispiel für eine mutation mutation { createtodo(input { fields { title "clean house" iscompleted false } }) { todo { objectid title iscompleted } } } 6 arbeiten mit live abfragen (optional) back4app unterstützt echtzeit updates durch live abfragen für swift let subscription = try? todo query("iscompleted" == false) subscribe() subscription? handleevent({ event in switch event { case created(let newtodo) print("new todo created \\\\(newtodo)") case updated(let updatedtodo) print("todo updated \\\\(updatedtodo)") default break } }) schritt 3 – sicherheit mit acls und clps anwenden 1 übersicht zugriffskontrolllisten https //www back4app com/docs/security/parse security (acls) steuern die berechtigungen pro objekt, während klassenebene berechtigungen (clps) standardwerte für gesamte klassen festlegen 2 schritte klassenebene berechtigungen im back4app dashboard eine klasse öffnen (z b todo ), dann auf die registerkarte „sicherheit“ klicken sie können das lesen/schreiben nur für authentifizierte benutzer oder rollen einschränken acls im code wenn sie ein parseobject speichern, können sie eine acl zuweisen passen sie diese an, um sicherzustellen, dass ihre daten nur von den richtigen benutzern abgerufen werden schritt 4 – schreiben von cloud code funktionen 1 warum cloud code? cloud code ist ihr bester freund, um serverseitige logik zu ihrer ios app hinzuzufügen sie können sensible logik oder validierungen vom client fernhalten, externe apis integrieren und hintergrundaufgaben auf dem server ausführen 2 beispiel funktion erstellen sie eine main js datei lokal (oder im online editor) mit einer funktion parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); 3 bereitstellung verwenden sie die back4app cli https //www back4app com/docs/local development/parse cli oder den in dashboard cloud code > funktionen editor installieren sie die cli konfigurieren sie ihren kontoschlüssel bereitstellen 4 aufruf von cloud code von ios task { do { if let result = try await parsecloud callfunction("calculatetextlength", with \["text" "hello back4app"]) as? \[string int] { print("text length \\\\(result\["length"] ?? 0)") } } catch { print("cloud code error \\\\(error)") } } 5 verwendung von npm modulen in ihrer package json (innerhalb von cloud code) listen sie ihre abhängigkeiten auf dann in main js const axios = require('axios'); parse cloud define("fetchposts", async () => { // use axios here }); schritt 5 – konfiguration der authentifizierung 1 benutzer authentifizierung aktivieren in ihrem back4app dashboard ist die user klasse bereits vorhanden sie können die e mail verifizierung, passwortzurücksetzungen und mehr einstellen 2 ios codebeispiele anmelden einloggen 3 soziale anmeldung sie können soziale anmeldungen (google, apple, facebook) mit parse swift integrieren verweisen sie auf die dokumentation zur sozialen anmeldung https //www back4app com/docs/platform/sign in with apple für detaillierte anweisungen schritt 6 – dateispeicherung verwalten 1 dateispeicherung einrichten laden sie dateien wie bilder oder dokumente über parse hoch und abrufen für swift struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var score int? var picture parsefile? } func uploadimagedata( data data) async { var file = parsefile(name "photo jpg", data data) do { file = try await file save() print("file url \\\\(file url ?? "")") } catch { print("error uploading file \\\\(error)") } } 2 dateien abrufen func fetchimage(file parsefile) async { do { let fetched = try await file fetch() print("fetched localurl \\\\(fetched localurl? absolutestring ?? "")") } catch { print("error fetching file \\\\(error)") } } 3 sicherheitsüberlegungen sie können die dateiberechtigungen in ihren back4app einstellungen oder in der parse config datei ihrer app konfigurieren beispielsweise können sie einschränken, wer dateien hochladen oder löschen kann schritt 7 – e mail verifizierung und passwortzurücksetzung 1 warum verifizierung? die e mail verifizierung stellt sicher, dass ein benutzer die angegebene e mail adresse besitzt passwortzurücksetzungsabläufe ermöglichen es benutzern, konten sicher wiederherzustellen 2 in back4app konfigurieren gehe zu app einstellungen > benutzereinstellungen für e mail aktiviere die e mail verifizierung konfiguriere die von e mail , e mail vorlagen und optionalen benutzerdefinierten domain 3 implementierung task { do { try await user requestpasswordreset(email "johnny\@example com") print("password reset email sent") } catch { print("error resetting password \\\\(error)") } } schritt 8 – aufgaben mit cloud jobs planen 1 übersicht verwende cloud jobs um aufgaben zu automatisieren, wie das löschen alter datensätze oder das senden täglicher benachrichtigungen sie laufen auf der server seite , nicht direkt vom client ausgelöst 2 beispiel parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); // older than 30 days const cutoff = new date(date now() 30 24 60 60 1000); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); planen sie diesen job im back4app dashboard unter servereinstellungen > hintergrundjobs um regelmäßig ausgeführt zu werden schritt 9 – integration von webhooks 1 definition webhooks ermöglichen es ihrer app, daten an externe dienste zu senden, wann immer bestimmte ereignisse auftreten zum beispiel, benachrichtigen sie einen slack kanal, wenn ein todo erstellt wird 2 konfiguration dashboard gehen sie zu mehr > webhooks und wählen sie „webhook hinzufügen “ endpoint festlegen z b https //my server com/webhook endpoint ereignis auslösen z b „neuer datensatz in der klasse todo “ 3 codebeispiel parse cloud aftersave("todo", async (request) => { const { object } = request; // make an http post to an external url // containing the new todo details }); schritt 10 – erkundung des back4app admin panels 1 wo man es findet ihr admin panel ist über „mehr“ > „admin app“ im back4app dashboard zugänglich erstellen sie einen admin benutzer und wählen sie eine subdomain für den einfachen zugriff 2 funktionen daten durchsuchen klassen in einem benutzerfreundlichen format anzeigen und bearbeiten protokolle überprüfen sie die serverprotokolle und cloud code protokolle analytik nutzung, push benachrichtigungen usw überwachen fazit in diesem tutorial haben sie gelernt wie man ein backend für ios mit back4app und dem parse swift sdk erstellt sie haben eine skalierbare datenbank integriert, sicherheit mit acls und clps implementiert, cloud code funktionen geschrieben, die benutzerauthentifizierung konfiguriert, die dateispeicherung verwaltet und sogar hintergrundaufgaben geplant mit diesen wesentlichen funktionen können sie ein zuverlässiges backend für ihre ios mobile anwendung anbieten, während sie sich auf die benutzererfahrung und einzigartige funktionen konzentrieren nächste schritte erforschen sie erweiterte rollen und benutzerdefinierte zugriffskontrollen für mehrstufige sicherheit integrieren sie erweiterte funktionen wie push benachrichtigungen, geo abfragen oder externe datenquellen überprüfen sie die offizielle dokumentation von back4app für leistungstipps, protokollanalysen oder echtzeitanalysen probieren sie zusätzliche tutorials aus zu chat anwendungen, iot integration oder e commerce erweiterungen durch die nutzung von back4app erhalten sie eine open source basierte plattform, die eine großartige option ist, um die komplexität zu reduzieren, daten einfach zu speichern und echtzeit funktionen in ihre ios app zu integrieren die umsetzung dieser schritte gibt ihnen die freiheit, an design, benutzerflüssen oder geschäftslogik zu arbeiten und in kürzester zeit ein robustes backend für ihre ios app zu erstellen