Wie man ein Backend für Ionic erstellt?
In diesem Tutorial lernen Sie, wie Sie ein vollständiges Backend für eine Ionic-App mit Back4App erstellen.
Wir werden die Datenbankverwaltung, Cloud Code-Funktionen, REST- und GraphQL-APIs, Benutzerauthentifizierung, Dateiverwaltung und mehr behandeln.
Unser Ziel ist es, Ihnen zu zeigen, wie man ein Backend für Ionic erstellt, das sicher, skalierbar und einfach zu warten ist.
Wir werden die intuitive Umgebung von Back4App nutzen, um die serverseitige Einrichtung zu vereinfachen, sodass Sie sich nicht um die manuelle Konfiguration von Servern oder Datenbanken kümmern müssen.
Sie werden wichtige Werkzeuge kennenlernen, wie das Planen von Aufgaben mit Cloud-Jobs, das Anwenden fortgeschrittener Sicherheitsregeln und die Integration von Webhooks mit anderen Diensten.
Am Ende werden Sie bereit sein, dieses grundlegende Backend in ein produktionsbereites System für Ihre Ionic-App zu erweitern.
- Ein Back4App-Konto und ein neues Back4App-Projekt Erste Schritte mit Back4App. Wenn Sie kein Konto haben, erstellen Sie eines kostenlos und folgen Sie dem obigen Leitfaden, um Ihr Projekt einzurichten.
- Grundlegende Ionic-Entwicklungsumgebung Stellen Sie sicher, dass Sie die Ionic CLI installiert haben und eine Ionic-App erstellen und ausführen können.
- Node.js (Version 14 oder höher) installiert Node.js herunterladen um Abhängigkeiten zu verwalten und Ihr Projekt zu erstellen.
- Vertrautheit mit JavaScript/TypeScript und Ionic-Konzepten Offizielle Ionic-Dokumentation. Ein gutes Verständnis der Ionic-Strukturen, Komponenten und Lebenszyklus-Hooks wird hilfreich sein.
- Melden Sie sich bei Ihrem Back4App-Konto an.
- Erstellen Sie eine neue App mit der Schaltfläche „Neue App“ in Ihrem Back4App-Dashboard.
- Benennen Sie Ihre App (z. B. „Ionic-Backend-Tutorial“).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Dieses Back4App-Projekt ist die Basis für Ihr Backend. Im Gegensatz zur Verwendung eines clientseitigen Parse SDK wird dieses Tutorial zeigen, wie man über REST und GraphQL von Ihrer Ionic-App aus aufruft.
- Gehe im Back4App-Dashboard zu App-Einstellungen oder Sicherheit & Schlüssel.
- Notiere dir deine Anwendungs-ID, REST-API-Schlüssel, und GraphQL-Endpunkt. Du wirst diese benötigen, um Anfragen von deiner Ionic-App zu senden.
Eine gut strukturierte Datenbank ist das Rückgrat jeder App. Das Dashboard von Back4App erleichtert das Entwerfen von Datenmodellen und das Verwalten von Beziehungen.
- Gehe zum Datenbank-Bereich in deinem Back4App-Dashboard.
- Erstelle eine neue Klasse (zum Beispiel „Todo“) und füge Spalten hinzu (z. B. Titel als String, isCompleted als Boolean).
![Neue Klasse erstellen Neue Klasse erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
- Öffnen Sie den AI Agent von Ihrem Back4App-Dashboard.
- Beschreiben Sie Ihr gewünschtes Schema, wie zum Beispiel „Erstellen Sie eine Todo-Klasse mit Feldern für Titel (String) und isCompleted (Boolean).“
- Der AI Agent wird das Schema automatisch generieren.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Von Ihrem Ionic-Code aus können Sie HTTP-Anfragen ausführen. Zum Beispiel, um zu erstellen eine Todo:
Um alle Todos abzurufen:
Sie können diese Aufrufe mit fetch, Axios, oder einer beliebigen HTTP-Client-Bibliothek innerhalb der Dienst- oder Komponenten-Dateien Ihrer Ionic-App integrieren.
Ähnlich können Sie GraphQL-Änderungen und -Abfragen von Ihrer Ionic-App aus senden. Zum Beispiel, um ein neues Todo zu erstellen:
Beispiel REST- oder GraphQL-Aufrufe können in einer Provider-/Service-Datei in Ihrer Ionic-Struktur platziert und dann von Ihren Seiten aufgerufen werden.
Live-Abfragen bieten Echtzeit-Updates für die Daten Ihrer App, erfordern jedoch das Parse SDK oder einen spezialisierten Abonnementansatz. Wenn Sie Echtzeitdaten benötigen, können Sie Live-Abfragen in den Einstellungen Ihres Back4App-Servers aktivieren. Normalerweise würden Sie eine WebSocket-Verbindung verwenden, um Änderungen in Ihren Klassen zu überwachen. Für standardmäßige HTTP-basierte Aufrufe können Sie jedoch regelmäßig die REST- oder GraphQL-Endpunkte abfragen.
ACLs (Zugriffskontrolllisten) ermöglichen es Ihnen, Lese-/Schreibberechtigungen für einzelne Objekte festzulegen. CLPs (Klassenebene Berechtigungen) ermöglichen es Ihnen, breitere Zugriffe auf Klassenebene zu verwalten. Diese Funktionen sind entscheidend, um private Daten zu schützen und sicherzustellen, dass nur autorisierte Benutzer Informationen ändern können.
- Gehen Sie in Ihrem Back4App-Dashboard zu Datenbank > Klassenebene Berechtigungen.
- Konfigurieren Sie Ihre Klassendefaults (z. B. nur authentifizierte Benutzer können neue Todos erstellen).
Beim Erstellen oder Aktualisieren von Datensätzen können Sie ACL-Felder über REST übergeben:
Für weitere Informationen siehe die App-Sicherheitsrichtlinien.
Cloud-Code ermöglicht es Ihnen, serverseitiges JavaScript für Aufgaben wie Datenvalidierung, Trigger oder Integrationen auszuführen. Sie können benutzerdefinierte Endpunkte erstellen, um Logik zu zentralisieren, was besonders nützlich ist, wenn Sie Code vom Client fernhalten möchten.
In Ihrer main.js auf der Serverseite (Back4App) könnten Sie schreiben:
Bereitstellen Sie dies über die Back4App CLI oder im Cloud-Code-Bereich des Dashboards.
Sie können eine POST-Anfrage senden:
Sie erhalten eine JSON-Antwort, die alle zurückgegebenen Daten oder eine Fehlermeldung enthält.
Sie können Pakete wie axios in Ihrer Cloud-Code-Umgebung installieren, um Drittanbieterdienste zu integrieren. Fügen Sie sie in main.js:
Bereitstellen und aufrufen, wie Sie es mit jeder Cloud-Code-Funktion tun würden.
Die Benutzeranmeldung und -registrierung kann mit REST-Aufrufen zur User-Klasse erfolgen. Zum Beispiel, um sich anzumelden:
Im Erfolgsfall erhalten Sie ein sessionToken. Bewahren Sie es sicher auf und fügen Sie es in die Header zukünftiger Anfragen für authentifizierte Vorgänge ein.
Sie können soziale Logins (wie Google oder Facebook) konfigurieren, indem Sie den OAuth-Flow über Back4App einrichten oder externe Anbieter verwenden. Siehe die Dokumentation zu sozialen Logins für detaillierte Schritte.
Back4App bietet sicheren Dateispeicher. Sie können Dateien an Objekte anhängen oder sie unabhängig speichern. Zum Beispiel:
Die Antwort enthält eine Datei-URL, die Sie in einer Klasse speichern können:
Sie können Dateisicherheitsregeln in den Servereinstellungen von Back4App aktivieren, um eine Authentifizierung zu verlangen oder Datei-Uploads auf bestimmte Rollen zu beschränken.
Die E-Mail-Verifizierung stellt die Legitimität der Benutzer-E-Mails sicher. Die Passwortzurücksetzung bietet eine sichere Möglichkeit, verlorene Anmeldeinformationen wiederherzustellen. Dies hilft, Vertrauen und eine ordnungsgemäße Benutzerverwaltung in Ihrer Ionic-App aufrechtzuerhalten.
- Gehen Sie zu App-Einstellungen > E-Mail-Einstellungen.
- Aktivieren Sie die E-Mail-Verifizierung.
- Passen Sie die Vorlagen für die Verifizierungs- und Passwortzurücksetzungs-E-Mails an.
Cloud-Jobs ermöglichen es Ihnen, wiederkehrende Aufgaben wie Datenbereinigung oder das Versenden von Zusammenfassungs-E-Mails zu planen. Sie schreiben sie in Ihre main.js:
Nach der Bereitstellung:
- Gehe zu App-Einstellungen > Servereinstellungen > Hintergrundjobs.
- Plane cleanupOldTodos täglich auszuführen.
![Planung eines Cloud-Jobs Planung eines Cloud-Jobs](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhooks ermöglichen es Ihnen, Daten an externe Dienste zu senden, wenn bestimmte Ereignisse in Ihrem Back4App-Projekt auftreten. Wenn Ihre Ionic-App eine Aktion in Stripe oder Slack auslösen muss, nachdem ein neuer Datensatz erstellt wurde, können Sie Webhooks verwenden, um dies zu automatisieren.
- Gehen Sie zu Mehr > WebHooks in Ihrem Back4App-Dashboard.
- Fügen Sie einen neuen Webhook hinzu und legen Sie seinen Endpunkt fest (z. B. https://your-service.com/webhook-endpoint).
- Wählen Sie das Ereignis (z. B. „Nach dem Speichern“ in der Todo-Klasse).
![Hinzufügen eines Webhooks Hinzufügen eines Webhooks](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Sie können auch ausgehende Anfragen von Cloud-Code-Triggern in main.js mit Standard-HTTP-Bibliotheken initiieren.
Die Back4App Admin App ist eine einfachere Schnittstelle für nicht-technische Stakeholder. Sie bietet eine einfache Möglichkeit, CRUD-Operationen an Ihren Klassen durchzuführen, ohne in das Haupt-Parse-Dashboard zu gehen.
- Gehen Sie im Dashboard zu Mehr > Admin App.
- Klicken Sie auf Admin App aktivieren und erstellen Sie einen Admin-Benutzer.
- Wählen Sie eine Subdomain für den Zugriff auf Ihre Admin-Schnittstelle.
![Admin App aktivieren Admin App aktivieren](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Dieses Panel hilft Ihnen, Daten zu verwalten, ohne Abfragen schreiben zu müssen, was es ideal für Kunden oder Teammitglieder macht, die eine grafische Schnittstelle bevorzugen.
Indem Sie diesen Leitfaden über wie man ein Backend für Ionic erstellt, haben Sie:
- Ein sicheres Backend erstellt auf Back4App mit robusten Datenmodellen und Beziehungen.
- Integriert mit REST- und GraphQL-APIs um Daten von Ihrer Ionic-App zu lesen und zu schreiben.
- Sicherheit implementiert mit ACLs und CLPs.
- Cloud-Code bereitgestellt für benutzerdefinierte Logik und Trigger.
- Benutzerauthentifizierung konfiguriert und Dateispeicherung.
- Cloud-Jobs eingerichtet zur Planung von Aufgaben.
- Webhooks genutzt für externe Integrationen.
- Das Admin-Panel erkundet um die Datenverwaltung zu vereinfachen.
Mit diesem Fundament kann Ihre Ionic-App zu einer produktionsbereiten Plattform weiterentwickelt werden. Fügen Sie mehr Logik hinzu, verbinden Sie Drittanbieter-APIs oder optimieren Sie Sicherheitsregeln, um Ihrem Anwendungsfall gerecht zu werden.
- Verbessern Sie Ihren Produktionsbuild durch Implementierung von Caching, rollenbasiertem Zugriff und Leistungsüberwachung.
- Integrieren Sie erweiterte Funktionen wie Echtzeit-Live-Abfragen oder Multi-Faktor-Authentifizierung.
- Konsultieren Sie die offiziellen Dokumente von Back4App für eine eingehende Erkundung von Analysen, Protokollen und Leistungsoptimierung.
- Erforschen Sie andere Tutorials die Chat-Anwendungen, IoT-Integrationen oder standortbasierte Funktionen demonstrieren, kombiniert mit den robusten Backend-Diensten von Back4App.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)