It’s #FrontendFriday – Firebase Local Emulator

03.11.2023

Im heutigen #FrontendFriday Beitrag setzen wir unsere #FrontendFriday Reihe zu Firebase fort. Es geht um den Firebase Local Emulator, mit welchem wir unsere Anwendungen, lokal, sicher testen und entwickeln können.

Was ist der Firebase Local Emulator?

Der Firebase Local Emulator ist im Wesentlichen eine Sammlung von Tools, die es Entwicklern ermöglicht, Funktionen von Firebase-Produkten wie Firestore, Firebase Authentication, Realtime Database, Cloud Functions und mehr lokal auf dem Computer auszuführen. Dies bietet den Vorteil, dass man seine Codeänderungen sofort überprüfen kann, ohne sie in die Cloud zu übertragen.

 

Vorteile des Firebase Local Emulators:

  1. Schnellere Entwicklungszeit: Da alles lokal läuft, sind die Antwortzeiten wesentlich schneller als bei Tests in der Cloud.
  2. Kostenersparnis: Tests, die lokal durchgeführt werden, verursachen keine zusätzlichen Kosten, die normalerweise bei Cloud-basierten Operationen anfallen würden.
  3. Sicherheit: Da wir lokal arbeiten, besteht keine Gefahr, echte Daten zu beeinträchtigen oder versehentlich sensible Informationen preiszugeben.

 

Wie setzt man den Emulator auf?

Der Einstieg ist ziemlich einfach. Nach der Installation des Firebase CLI-Tools muss man lediglich den Befehl firebase init emulators verwenden, um den Emulator zu starten. Danach können wir die gewünschten Dienste auswählen und konfigurieren.

 

Ein einfaches Beispiel: Firestore-Datenbank lokal emulieren

Nachdem der Emulator eingerichtet ist, kann man zum Beispiel die Firestore-Datenbank lokal emulieren:

const admin = require("firebase-admin");
const test = require("firebase-functions-test")({
  databaseURL: "http://localhost:8080",
  projectId: "your-project-id",
});

const db = admin.firestore();

In diesem Beispiel wird die lokale Firestore-Datenbank auf Port 8080 eingerichtet. Wir können dann beliebige Aktionen auf der Datenbank ausführen, genau wie wir es in der Live-Umgebung tun würden.

 

Anwendungsbeispiele für den Firebase Local Emulator

Die Local Emulator Suite kann auf verschiedene Weise genutzt werden:

  • Unit-Tests: Mit dem Firebase Test SDK können wir Unit-Tests in Node.js mit dem Mocha-Test-Runner schreiben. Das Test SDK bietet mehrere praktische Methoden zum Laden von Sicherheitsregeln, zum Leeren der lokalen Datenbank zwischen Tests und zum Verwalten der synchronen Interaktion mit den Emulatoren. Es eignet sich hervorragend zum Schreiben einfacher Tests für Datenbankinteraktionen, die nicht von der Logik unserer App abhängen.
  • Integrationstests: Jeder einzelne Produktemulator in der Emulator Suite reagiert auf SDK- und REST-API-Aufrufe genau wie Firebase-Produktionsdienste. Wir können also unsere eigenen Testwerkzeuge verwenden, um eigenständige Integrationstests zu schreiben, die die Local Emulator Suite als Backend verwenden.
  • Manuelle Tests: Wir können unsere laufende Anwendung mit der Local Emulator Suite verbinden, um unsere Firebase-App manuell zu testen, ohne Produktionsdaten zu riskieren oder ein Testprojekt zu konfigurieren.
  • Produktbewertungen: Wir können Firebase-Erweiterungen in einer sicheren lokalen Umgebung installieren und verwalten und unsere Funktionen besser verstehen, während wir gleichzeitig die Abrechnungskosten minimieren.

 

Unterstützte Firebase-Funktionen und -Plattformen

Der Firebase Local Emulator unterstützt eine Vielzahl von Firebase-Funktionen. Dazu gehören:

  • Firestore: Testen und entwickeln mit einer lokal emulierten Firestore-Datenbank.
  • Realtime Database: Echtzeit-Datenbank von Firebase emulieren, um Echtzeit-Datensynchronisation zu simulieren.
  • Cloud Functions: Cloud-Funktionen lokal testen, bevor wir diese deployen.
  • Firebase Authentication: Simulieren von Authentifizierungsprozessen, um sicherzustellen, dass die Sicherheits- und Authentifizierungsabläufe korrekt funktionieren.
  • Cloud Pub/Sub: Dies ermöglicht es uns, die Interaktionen zwischen unseren Diensten zu emulieren und Nachrichtenveröffentlichungen und -abonnements zu testen.
  • Firebase Hosting: Überprüfen wie unsere Webseite oder Web-App lokal gehostet wird, bevor wir diese live schalten.

 

Fazit

Der Firebase Local Emulator ist ein mächtiges Werkzeug, das jedem Firebase-Entwickler zur Verfügung steht. Es bietet Sicherheit, Schnelligkeit und Flexibilität, die für eine effiziente und effektive Entwicklung unerlässlich sind. Wenn wir Firebase in unseren Projekten verwenden, ist der Einsatz des Emulators ein absolutes Muss.

 


https://firebase.google.com/docs/emulator-suite?hl=de

https://firebase.google.com/docs/emulator-suite/install_and_configure?hl=de 

https://firebase.google.com/docs/emulator-suite/connect_firestore?hl=de

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*