Sie haben HTML, CSS und JavaScript (oder React Native/Flutter) gelernt. Sie haben das Frontend Ihrer App erstellt und es sieht wunderschön aus. Jetzt müssen Sie die Benutzerdaten speichern. Und Sie entdecken, dass Sie lernen müssen: Linux, Docker, SQL, Node.js, Express, JWT, Nginx, SSL...
Entmutigend, oder? Hier rettet Sie Backend as a Service (BaaS). Plattformen wie Firebase, Supabase und Appwrite bieten Ihnen all dies vorgefertigt. Sie konzentrieren sich auf die App, sie konzentrieren sich auf den Server.
Aber Vorsicht: „einfach“ bedeutet nicht „trotzdem“. Wenn Sie es falsch verwenden, wird Ihre App langsam, unsicher und teuer. Hier sind Best Practices, die Ihnen den richtigen Start ermöglichen.
1. Clientseitige Sicherheit
Im traditionellen Modell verbirgt der Server die Datenbank. Bei BaaS kommuniziert Ihre App direkt mit der Bank. Wenn Sie die Regeln nicht konfigurieren, kann jeder alles löschen.
- Goldene Regel: Vertraue niemals dem Frontend.
- Die Vorgehensweise: Konfigurieren Sie die „Sicherheitsregeln“ (Firebase) oder „Sicherheit auf Zeilenebene“ (Supabase).
- Falsch:
allow read, write: if true;(Tür offen). - Rechts:
allow write: if request.auth.uid == resource.data.ownerId;(Nur der Besitzer bearbeitet).
- Falsch:
2. Suchen Sie nicht nach zu vielen Daten (Abfragen)
NoSQL-Datenbanken (wie Firestore) berechnen pro Lesung. Wenn Sie jedes Mal, wenn der Benutzer die App öffnet, 1.000 Dokumente herunterladen, überschreiten Sie das kostenlose Kontingent an einem Tag.
- Paginierung verwenden: Laden Sie 10 Artikel herunter. Wenn der Benutzer scrollt, laden Sie 10 weitere herunter.
- Filter auf dem Server: Laden Sie nicht alles herunter und filtern Sie mit
array.filter()in JavaScript. Benutzen Sie den Bankfilter (.where('status', '==', 'active')).
3. Datenstruktur (Datenmodellierung)
In SQL vermeiden Sie die Duplizierung von Daten (Normalisierung). In NoSQL (Firestore) müssen Sie Daten duplizieren (Denormalisierung).
- Wenn Sie einen Beitrag haben und den Namen des Autors anzeigen möchten, speichern Sie den Namen des Autors im Beitragsdokument.
- Warum?: Um zu vermeiden, dass zum Erstellen eines Bildschirms zwei Dokumente (Beitrag + Benutzer) gelesen werden müssen. Lesen ist Geld.
4. Indizes
Wenn Ihre App beim Suchen langsamer wird, haben Sie wahrscheinlich vergessen, Indizes zu erstellen.
- Ein Index ist wie der Index eines Buches. Es teilt der Bank mit, wo sich die Informationen befinden, ohne dass die gesamte Bank gelesen werden muss.
- Die Firebase/Supabase-Konsole warnt Sie normalerweise, wenn ein Index fehlt. Klicken Sie auf den vorgeschlagenen Link.
Fazit
BaaS ist eine Supermacht für Anfänger. Sie können in wenigen Wochen selbst ein „Uber“ oder „Instagram“ erstellen. Aber denken Sie daran: Leichtigkeit hat ihren Preis. Studieren Sie die Sicherheitsregeln und Datenmodellierung der von Ihnen gewählten Plattform. Dies wird Ihnen in Zukunft viel Geld und Kopfschmerzen ersparen.
Lesen Sie auch
- Backend As A Service – Gute Praktiken für Unternehmen
- Backend als Service
- Backend für Anwendungen: bewährte Methoden für kleine Teams, die keine Fehler machen dürfen
- Skalierbare Softwarearchitektur – Best Practices für die Skalierung
- Skalierbare Softwarearchitektur – Best Practices für Startups
- Skalierbare Softwarearchitektur – Best Practices für kleine Teams
