It’s FrontendFriday – Abschluss unserer Firebase Reihe

17.11.2023

Hallo an alle #FrontendFriday Leser/innen, diese Woche neigt sich unsere Firebase Reihe leider dem Ende zu. Daher wollen wir einmal kurz Revue passieren lassen, was wir bisher über Firebase gelernt haben und führen letztlich alle Fäden zusammen für ein Fazit zum Einsatz von Firebase.

Zusammenfassung der Firebase Serie

Zur Einleitung nochmal ein kurzer Rückblick auf alle Beiträge der Serie.

  • Firebase Authentication
    • Eine robuste Lösung, die Entwicklern ermöglicht, sichere, benutzerfreundliche und skalierbare Authentifizierung in ihren Apps zu implementieren. Firebase Authentication bietet verschiedene Anmeldemethoden, darunter E-Mail/Passwort, Google, Apple, Telefonnummer, Facebook, Twitter und mehr, wodurch Entwickler die Anzahl benötigter Konten und Passwörter reduzieren können. Außerdem erhalten sie Zugriff auf verschiedene Libraries und sichere Authentifizierungsmethoden mit moderner Verschlüsselung.
  • Firebase Extension & Dynamic Links
    • Firebase Extensions sind Pakete, die durch einen einfachen Klick zu einem Firebase-Projekt hinzugefügt werden können, um zusätzliche Funktionalitäten bereitzustellen. Ein Beispiel ist die Firebase Extension „Image Resize“, welche Bilder in einer Chat-Anwendung optimiert und skaliert, ohne dass Entwickler den komplexen Code selbst schreiben müssen und Zeit sparen können.
    • Firebase Dynamic Links sind plattformunabhängige Links, die den Aufrufer auf gezielte Inhalte lenken können, wie zum Beispiel eine native App im App Store eines Smartphones oder sogar Inhalte innerhalb der App.
  • Firebase App Check & Remote Config
    • Firebase App Check ist ein Sicherheitsfeature, das dazu dient, Firebase-Ressourcen vor Missbrauch zu schützen, indem es sicherstellt, dass nur authentische Requests von Userclients gesendet werden. Attestation Provider fügen den Requests Tokens hinzu, die von Firebase gescannt werden, um missbräuchliche Requests zu filtern. Dies trägt dazu bei, unnötige Kosten und Manipulationen an den Endpunkten zu verhindern, indem nur authentifizierte Clients Zugriff erhalten.
    • Firebase Remote Config ermöglicht die Personalisierung und Verbesserung der Benutzererfahrung, indem es Änderungen an App-Funktionen und Inhalten in Echtzeit ermöglicht, ohne dass ein App-Update erforderlich ist. Dies ist besonders nützlich für A/B-Tests, Personalisierung und Echtzeitanpassungen, ohne dass neue Releases veröffentlicht werden müssen.
  • Firebase Cloud-Messaging
    • Firebase Cloud Messaging (FCM) ist ein plattformübergreifender Service, der es Entwicklern ermöglicht, Benachrichtigungen und Datennachrichten zu versenden und zu empfangen. Die Schlüsselfähigkeiten von FCM umfassen die Zustellung von Benachrichtigungen, vielseitiges Nachrichten-Targeting für spezifische Geräte oder Gruppen sowie die Möglichkeit, Nachrichten von Client-Apps an den Server zu senden.
  • Firebase Performance & Analytics
    • Firebase Performance hilft dabei, die Anwendung zu monitoren. Zum Beispiel in Bezug auf die automatische Erfassung der Startzeit, http-Anfragen und Netzwerkanfragen. Außerdem kann Firebase Performance dabei helfen Bereiche in der App zu identifizieren, welche optimiert werden können und bei der Erkennung wichtiger Veränderungen in der App-Leistung.
    • Firebase Analytics hilft dabei, das Nutzungsverhalten in der App zu analysieren. Dabei gibt es die Möglichkeit bis zu 500 benutzerdefinierte Ereignisse zu erstellen, welche für die Analyse genutzt werden.
  • 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. Dadurch kann man die Entwicklungszeit verkürzen, spart Kosten, da keine Ressourcen in der Cloud benutzt werden müssen und wir haben eine erhöhte Sicherheit.

Fazit der Firebase Serie

Nach diesen sechs interessanten Beiträgen zu verschiedenen Funktionen und Angeboten von Firebase, können wir ein Fazit ziehen zu dessen Einsatz.

Vorteile

Firebase bietet sowohl aus entwicklungstechnischer Sicht, als auch aus Unternehmenssicht interessante Tools. Diese können unter anderem dazu eingesetzt werden, die Entwicklungseffizienz zu steigern, indem wir vorgefertigte Bausteine für wiederkehrende Tasks an die Hand bekommen. Vor allem im Hinblick auf die Sicherheit der von uns entwickelten Anwendungen bietet es große Vorteile, da wir immer auf dem neuesten Stand sind und uns keine Gedanken um Implementierungsdetails, von zum Beispiel Verschlüsselung oder Authentifizierung machen müssen. Zu diesen notwendigen Bausteinen bekommt man auch viele Komfortbausteine, wie zum Beispiel die Remote Config, das Cloud Messaging oder den App-Check, welche sowohl die Entwicklererfahrung, als auch die Nutzererfahrung verbessern. Daneben bekommen wir auch viele Metriken zur Verfügung gestellt, welche wir nutzen können, um die Anwendung noch besser auf den Nutzer anzupassen, neue Geschäftsmodelle auszuprobieren und immer den Überblick über unsere Anwendung zu behalten.

Nachteile

Diese ganzen Vorteile auf der einen Seite, führen aber auch gleichzeitig zu der größten Schwäche von Firebase, nämlich dass wir uns in einem Ökosystem befinden. Wir müssen unsere App „the Firebase way“ entwickeln, was bei späteren Änderungen oder neuen Anforderungen ein mehr an Aufwand bedeuten kann. Dabei kann es dazu kommen, dass bei einer Migration der Anwendung viele Funktionen nicht mehr gehen oder neu implementiert werden müssen. Gerade der Komfort innerhalb von Firebase wird in so einem Fall zu seinem größten Makel. Oder man muss damit leben, dass man an Firebase „gebunden“ ist.

Abschluss

Wie bei allen Tools in der Softwareentwicklung muss man sich natürlich von vorneherein im Klaren darüber sein, was die Anforderungen an die Anwendung sind, um gute Entscheidungen treffen zu können. Firebase bietet viele Vorteile, welche die Erstellung einer Anwendung enorm vereinfachen können und auch im weiteren Betrieb viele nützliche Funktionen, um eine erfolgreiche Anwendung anbieten zu können. Wenn es den eigenen Anforderungen entspricht, kann es den Entwicklungsprozess und den Betrieb auf jeden Fall vereinfachen und bereichern.

Zurück zur Übersicht

Kommentar verfassen

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

*Pflichtfelder

*