Wie man ein Backend für Flutter erstellt?
In diesem Tutorial lernen Sie wie man ein Backend für Flutter mit Back4app, einem Open-Source und zuverlässigen Backend-as-a-Service (BaaS), erstellt.
Wir werden die Integration wesentlicher Back4app-Funktionen – wie Datenbankverwaltung, Cloud-Funktionen, RESTful APIs, GraphQL APIs und Benutzerauthentifizierung – in Ihr Flutter-Projekt durchgehen.
Sie werden auch entdecken, wie man Echtzeit-Updates mit Live Queries verarbeitet. Durch die Nutzung der leistungsstarken Backend-Server von Back4app können Sie viel von der manuellen Konfiguration überspringen und sich auf die Erstellung einer dynamischen Flutter-App konzentrieren.
Dieser Leitfaden zeigt Flutter-Entwicklern, wie sie eine sichere, skalierbare und robuste Backend-Struktur einrichten, die mühelos mit Ihrer Client-Seite kommuniziert.
Wir werden auch die Vorteile hervorheben, die Back4app beim Handling von schweren Aufgaben – wie Hosting, Benutzerauthentifizierung und Serverlogik – bietet, damit Sie von Funktionen wie automatischer Skalierung, erweiterter Sicherheit und vereinfachter Wartung profitieren können.
Wenn Sie ein Flutter-Projekt haben und unzählige Stunden bei der Backend-Einrichtung sparen möchten, sind Sie hier genau richtig.
Am Ende dieses Tutorials werden Sie verstehen, welche Art von Backend Sie mit Back4app erstellen können, und bereit sein, Ihre Backend-Dienste für eine produktionsbereite Anwendung zu erweitern oder komplexere Funktionen wie externe APIs und erweiterte Benutzerauthentifizierung zu integrieren.
Lass uns anfangen!
Um dieses Tutorial abzuschließen, benötigen Sie:
- 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 Flutter-Entwicklungsumgebung Stellen Sie sicher, dass Sie das Flutter SDK installiert und eingerichtet haben. Bestätigen Sie auch, dass Sie eine IDE (wie Android Studio oder VS Code) für Flutter konfiguriert haben.
- Dart (Programmiersprache) Umgebung Normalerweise wird dies zusammen mit Flutter installiert. Stellen Sie sicher, dass Sie Dart-Pakete ohne Fehler importieren können.
- Vertrautheit mit den Grundlagen von Flutter Offizielle Flutter-Dokumentation. Wenn Sie neu bei Flutter sind, lesen Sie die offiziellen Dokumente oder ein Tutorial für Anfänger, bevor Sie beginnen.
Stellen Sie sicher, dass Sie alle diese Voraussetzungen erfüllt haben. Ihr Back4app-Projekt eingerichtet und Ihre lokale Flutter-Umgebung konfiguriert zu haben, wird Ihnen helfen, leichter folgen zu können.
Der erste Schritt beim Erstellen Ihres Flutter-Backends auf Back4app besteht darin, ein neues Projekt zu erstellen. Wenn Sie noch keines erstellt haben, befolgen Sie diese Schritte:
- 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. „Flutter-Backend-Tutorial“).
Sobald das Projekt erstellt ist, sehen Sie es in Ihrem Back4app-Dashboard aufgeführt. Dieses Projekt wird die Grundlage für alle Backend-Konfigurationen sein, die wir besprechen werden.
Back4app basiert auf der Parse-Plattform, um Ihre Daten, Echtzeit-Updates, Benutzerauthentifizierung und mehr zu verwalten. Um Ihr Flutter-Projekt mit Back4app zu verbinden, befolgen Sie diese Schritte:
- Fügen Sie das Parse Flutter SDK zu Ihrer App hinzu:
- Importieren Sie das Parse-Paket in Ihre main.dart (oder wo auch immer Sie Ihre App initialisieren):
Gehen Sie in Ihrem Back4app-Dashboard zum Sicherheits- und Schlüssel-Bereich, um Ihre Anwendungs-ID, Client-Schlüssel, und Parse-Server-URL. Ersetzen Sie die Platzhalter oben durch Ihre eigenen Anmeldeinformationen. Mit dieser Initialisierung wird jede Anfrage von Ihrer Flutter-App sicher an Ihre Back4app-Instanz weitergeleitet.
Denken Sie daran, dass der Master-Schlüssel niemals auf der Client-Seite Ihrer Flutter-App verwendet werden sollte. Wenn Sie den Master-Schlüssel benötigen, bewahren Sie ihn auf dem Server oder in einer sicheren Umgebung auf.
Sobald Ihre Flutter-App mit Back4app verbunden ist, können Sie mit dem Entwerfen Ihres Datenbankschemas beginnen. Sie können dies manuell über das Back4app-Dashboard tun:
- Navigieren Sie zum Abschnitt “Datenbank” in Ihrem Dashboard.
- Erstellen Sie eine neue Klasse (z. B. “Todo”) und fügen Sie relevante Spalten hinzu (z. B. Titel, istAbgeschlossen).
Back4app bietet auch einen KI-Agenten an, um bei der automatischen Schemaerstellung zu helfen:
- Öffnen Sie den KI-Agenten über Ihr App-Dashboard oder das Menü.
- Beschreiben Sie Ihr Datenmodell in einfacher Sprache (z.B. „Erstellen Sie eine neue ToDo-App mit einem vollständigen Klassenschema.“).
- Lassen Sie den KI-Agenten das Schema für Sie erstellen.
Dies vereinfacht die Einrichtung der Datenarchitektur. Wenn Sie möchten, dass Felder automatisch erstellt werden, können Sie einfach beginnen, Objekte aus Ihrer App zu speichern – Parse unterstützt die Erstellung von Schemata in Echtzeit.
Wenn Sie sich entscheiden, den Back4app KI-Agenten zu verwenden, geben Sie einfach eine kurze Beschreibung an, und er wird ein Schema für Sie erstellen oder vorschlagen. Dies ist eine hervorragende Möglichkeit, die anfängliche Phase der Datenmodellierung Ihres Flutter-Projekts zu beschleunigen.
Im Folgenden finden Sie ein einfaches Beispiel, das zeigt, wie Sie Objekte mit dem Parse Flutter SDK erstellen und abrufen können.
Damit können Sie direkt mit Ihrer Back4app-Datenbank von Ihrer Flutter-App aus interagieren. Rufen Sie einfach createTodoItem('Füttere die Katze', false) oder fetchTodos() auf, um Daten zu schreiben und zu lesen.
Wenn Sie mit anderen Diensten integrieren müssen oder einen traditionelleren Ansatz bevorzugen, können Sie weiterhin die Back4app REST-API verwenden:
Back4app bietet auch einen GraphQL-Endpunkt an:
Dies gibt Ihnen die Flexibilität, den besten Ansatz für Ihre Flutter-App zu entwickeln.
Back4app bietet Live-Abfragen an, damit Sie Echtzeit-Updates Ihrer Daten erhalten können. Aktivieren Sie Live-Abfragen im Back4app-Dashboard (Servereinstellungen) und verwenden Sie dann den Parse LiveQuery Flutter-Client.
Mit diesem Abonnement können Sie Datenänderungen in Echtzeit verfolgen. Dies ist fantastisch für den Aufbau von kollaborativen Apps, bei denen mehrere Benutzer Live-Datenaktualisierungen sehen. Sobald das Hot Reload ausgelöst wird, bleibt Ihr Abonnement bestehen, es sei denn, die App wird neu gestartet.
Back4app verwendet ACLs (Zugriffskontrolllisten) und CLPs (Klassenebene-Berechtigungen) um einzuschränken, wer Daten auf Objekt- und Klassenebene lesen oder schreiben kann. Diese Schicht stellt sicher, dass Ihre Daten vor unbefugtem Zugriff geschützt sind.
- Gehe in deinem Back4app-Dashboard zu Datenbank und wähle eine Klasse (z.B. „Todo“).
- Navigiere zu Klassenebene Berechtigungen.
- Setze Standardwerte (z.B. nur authentifizierte Benutzer können neue Objekte erstellen).
Du kannst auch ACLs auf Objektebene aus dem Flutter-Code anwenden:
Durch die Kombination von CLPs und ACLs kannst du sicherstellen, dass nur die richtigen Personen oder Rollen auf bestimmte Daten zugreifen oder diese ändern können.
Cloud Code ermöglicht es Ihnen, serverseitige Logik auszuführen, ohne manuell Backend-Server einzurichten. Dies ist perfekt, um Daten zu validieren, mit externen Diensten zu integrieren oder bestimmte Regeln in Ihrem Backend als Service (BaaS) durchzusetzen.
Hier ist ein Beispiel für eine Cloud-Funktion, die die Länge eines Textes berechnet:
Sie können diesen Code über die Back4app CLI oder im Dashboard Ihrer App unter Cloud Code.
Verwendung der Back4app CLI:
Verwendung des Dashboards:
- Gehen Sie im Dashboard Ihrer App zu Cloud Code > Funktionen.
- Fügen Sie den JavaScript-Code ein.
- Klicken Sie auf Bereitstellen.
Dieser sichere Ansatz stellt sicher, dass sensible Logik auf dem Server bleibt, während Ihre Flutter-App einfach Anfragen stellt.
Back4app verwendet die Parse.User Klasse, um die Benutzerregistrierung und -anmeldung zu verwalten. Standardmäßig kümmert sich Parse um die Passwort-Hashing, Sitzungstoken und sichere Speicherung.
Back4app unterstützt Integrationen mit Google, Apple, Facebook und mehr. Jeder Anbieter hat einen spezifischen Ansatz und benötigt möglicherweise zusätzliche Bibliotheken (z. B. für Facebook- oder Google-Anmeldung). Sie können dann aufrufen:
Passen Sie die Parameter gemäß der Dokumentation des Anbieters an.
Sie können Bilder, Dokumente oder andere Mediendateien mit ParseFile. Back4app sichert diese Dateien und stellt eine URL für den Abruf zur Verfügung.
Sie können definieren, wer Zugriff auf Dateien hat (öffentlich, authentifizierte Benutzer oder eingeschränkt), indem Sie die Dateisicherheit mit ACLs kombinieren. Dies stellt sicher, dass Ihre Dateidaten sicher bleiben.
Die E-Mail-Verifizierung bestätigt, dass ein Benutzer die angegebene E-Mail-Adresse besitzt, während die Passwortzurücksetzungsabläufe die Benutzererfahrung und Sicherheit verbessern.
- Gehe zu den E-Mail-Einstellungen deiner App im Back4app-Dashboard.
- Aktiviere E-Mail-Verifizierung und Passwortzurücksetzung.
- Konfiguriere E-Mail-Vorlagen oder deine benutzerdefinierte Domain, falls erforderlich.
Diese Einstellungen ermöglichen es deiner Flutter-App, automatisch Benutzerbesitzprüfungen und Passwortwiederherstellungen durchzuführen.
Du möchtest möglicherweise wiederkehrende Aufgaben planen (wie das Bereinigen alter Daten oder das Senden regelmäßiger E-Mails). Cloud-Jobs ermöglichen dir genau das:
Stellen Sie diesen Code bereit, gehen Sie dann zu App-Einstellungen > Servereinstellungen > Hintergrundjobs in Ihrem Back4app-Dashboard, um ihn zu planen.
Webhooks ermöglichen es Ihrer Back4app-App, HTTP-Anfragen an einen externen Dienst zu senden, wenn bestimmte Ereignisse eintreten (z. B. das Speichern eines neuen Objekts). Dies ist ideal für die Integration mit Drittanbieter-Tools.
- Gehen Sie zu Mehr > WebHooks in Ihrem Back4app-Dashboard und Webhook hinzufügen.
- Legen Sie Ihren Endpunkt und die Trigger fest (z. B. „Neuer Datensatz in Todo“).
Sie können Webhooks auch manuell im Cloud-Code konfigurieren, indem Sie HTTP-Anfragen in beforeSave- oder afterSave-Triggern durchführen.
Die Back4app Admin App ist eine benutzerfreundliche Oberfläche, die es nicht-technischen Teammitgliedern ermöglicht, Daten (CRUD-Operationen, Datenaufgaben usw.) zu verwalten, ohne das Parse Dashboard öffnen zu müssen.
- Gehe zu App Dashboard > Mehr > Admin App.
- Klicke auf Admin App aktivieren.
Du wirst einen Admin-Benutzer erstellen, eine Subdomain wählen und dich mit den neu erstellten Anmeldeinformationen anmelden. Die Admin App hilft bei schnellen Datenüberprüfungen und -änderungen.
In diesem Tutorial haben Sie gelernt wie man ein Backend für Flutter mit Back4app und dem Parse Flutter SDK erstellt.
Sie haben Klassen erstellt, Daten gespeichert, Echtzeitanfragen konfiguriert, Sicherheit mit ACLs und CLPs angewendet, Cloud-Funktionen geschrieben, Aufgaben geplant, Webhooks integriert und das Back4app Admin Panel erkundet.
Dieser Ansatz beschleunigt die Entwicklung, indem er Ihnen ermöglicht, sich auf die Flutter-Client-Seite zu konzentrieren, anstatt auf eine komplexe Serverkonfiguration.
Der endgültige String, den Sie jetzt haben, ist ein funktionierendes und sicheres Backend, das auf RESTful-APIs, Benutzerauthentifizierung und einfacher Datenmanipulation basiert.
Sie können jederzeit fortgeschrittenere Funktionen integrieren – wie zusätzliche Cloud-Funktionen, externe API-Aufrufe oder benutzerdefinierte Rollen.
- Gehen Sie in die Produktion: Implementieren Sie fortgeschrittenes Caching, Analytik oder rollenbasierte Zugriffskontrollen.
- Erweitern Sie Ihre App: Integrieren Sie Drittanbieterdienste oder erstellen Sie weitere Cloud-Funktionen für spezialisierte Geschäftslogik.
- Konsultieren Sie die Back4app-Dokumentation: Erkunden Sie fortgeschrittene Sicherheit, Leistungsoptimierung, Protokollanalyse und mehr.
- Erfahren Sie mehr: Schauen Sie sich Tutorials für Live-Chat-Apps, standortbasierte Dienste oder komplexere Datenstrukturen an. Kombinieren Sie diese mit Ihrem Flutter-Projekt für reale Anwendungsfälle.
Durch die kontinuierliche Verfeinerung dieses Setups werden Sie Ihre Flutter-App in eine leistungsstarke, skalierbare Lösung verwandeln, die auf einem robusten Backend-Dienst basiert. Viel Spaß beim Programmieren!