Files
papers/lux-firebase-exit/sections/02-what-firebase-gets-right.tex
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

46 lines
1.6 KiB
TeX

\section{What Firebase Gets Right}
\label{sec:right}
Firebase's success is not accidental. It solves real problems that
developers face, and any replacement must solve them equally well or
better. We identify four properties that define the Firebase developer
experience:
\subsection{Real-Time Synchronization}
Firestore provides real-time listeners that push data changes to all
connected clients within milliseconds. A write on one client appears
on all others without polling, long-polling, or manual WebSocket
management. The developer writes:
\begin{lstlisting}
onSnapshot(doc(db, "notes", noteId), (snap) => {
renderNote(snap.data());
});
\end{lstlisting}
This is the correct abstraction. The replacement must provide equivalent
real-time behavior with equal or simpler developer ergonomics.
\subsection{Integrated Authentication}
Firebase Auth provides email/password, phone, social login (Google, Apple,
GitHub), and anonymous authentication through a single API. The developer
does not manage password hashing, session tokens, or OAuth flows. User
identity is available everywhere in the Firebase SDK.
\subsection{Serverless Functions}
Cloud Functions for Firebase execute server-side logic in response to
Firestore writes, authentication events, HTTP requests, and scheduled
triggers. The developer deploys functions without provisioning servers
or managing containers.
\subsection{Zero-Config Hosting}
Firebase Hosting serves static assets with global CDN distribution,
automatic SSL, preview channels for pull requests, and single-command
deployment (\texttt{firebase deploy}). The developer does not configure
web servers, load balancers, or TLS certificates.