Firebase

Firebase Review and Features

Written by Thom Krupa

Last update: 6/7/2024

FeatureFirebase

Infrastructure

What runs under-the-hood.

Google Cloud (GCP)

Continuous Integration & Continuous Delivery (CI/CD)

Continuous deployment

Imagine an automatic update system for your website. This feature automatically deploys any changes you make to your code (usually from Git) to your live website.

Automated builds from Git

An easy integration with popular Git repository hostings like Github, GitLab and Bitbucket.
Need to use additional CI/CD service

Instant rollbacks to any version

Easy way to promote any previous build to production without the need to revert commits or data changes.

Site previews for every push

New build with a unique URL for every commit and pull request.

Compatible with all Static Site Generators

Notifications

Events triggered on successful, canceled, or failed build.

Team Management

Create team account and invite your teammates to the project.

Custom domains

Bring your own domain and connect to the project.

Automatic HTTPS

SSL certificate generated automatically.

Rewrites & Redirects

HTTP 301 or 302 redirects from one URL to another. Rewrites work similar to reverse proxy and allow to send user to different URL without modifying the original URL.

Password Protection

An easy way to restrict access to the website for users who don't have password. Useful if you work on a new site and want to keep it in secret.

Skew Protection

Skew Protection ensures client and server versions stay synchronized during deployments, preventing compatibility issues.

Free Tier

Websites

Number of projects you can have in Free Tier on one account.

Unlimited

Build Minutes

The amount of time your build scripts can run per month.
N/A

Concurrent builds

How many builds can be run at the same time?
N/A

Bandwidth

The amount of data that is transferred to or from the CDN.

360 MB /day

Team Members

The number of users (team members) that can be added to the CMS.
Unlimited

Build Time Per Deployment

Build have to finish within the limited time. If not it will fail due to timeout.
N/A

Build Memory Limit (in MiB)

The amount of memory that is allocated by system to build process. Some operations like image processing are expensive and might require more memory. For Node.js it is max-old-space-size setting.
N/A

Paid Plans

Max team members before switch to custom pricing

Unlimited

Git contributors have to be Team Members

In order to triger build, Git contributor has to be a paid team member.

Serverless

Serverless Functions (API)

Small pieces of code that run on-demand without managing servers, typically used for API endpoints.
JavaScript

Edge Functions

Serverless functions that run closer to the user, reducing latency and improving performance.

Background Functions

Code that runs in the background on the platform to perform tasks that don't require immediate user interaction.

CRON Jobs

Schedule tasks to run automatically at specific times or intervals. Useful for automating repetitive website maintenance tasks.
Schedule functions

Developer Experience

CLI

Command Line Interface tools that allow developers to perform tasks and manage the tool via the command line.
firebase-tools

Extensions

Additional plugins or add-ons that can enhance the functionality of the platform.

Environment Variables

Secret configuration settings for your website that change based on where it's deployed (dev, staging, production).
N/A

Build Logs

Track the progress and results of website builds for troubleshooting

Build Canceling

Ability to stop a build process that is currently running. This frees up resources and lets you make changes to your website faster by stopping builds you don't need anymore.

Platform Built-in Products

Analytics

Tools for tracking and analyzing website traffic.
Integration with Google Analytics

Authentication

Services for managing user logins and authentication.
Firebase Authentication

Database

Managed database services.
Firestore & Realtime

Asset Optimizations

Tools for optimizing images, CSS, JS, etc.

A/B Testing

Lets you test different versions of your site by directing traffic to each variant, helping you optimize user experience based on performance metrics.

Form Handling

Services for managing form submissions.

Data Storage

Solutions for storing and managing data.

Push Notifications

This allows your website to send real-time alerts or updates to visitors who have opted-in.

Machine Learning

Security & Compliance Offerings

Two-factor authentication

Adds an extra layer of security when logging in.

Team Logs

Tracks user activity within the platform for better accountability.

SOC2

Service Organization Control 2 compliance for managing customer data.

ISO27001

International standard for information security management.

GDPR

Compliance with the General Data Protection Regulation for handling personal data.

Sustainability

Carbon Neutral

Carbon-free Energy

Integrations

Integrations

Connecting your deployment platform with external services like headless content, commerce, databases, and more.

Custom build-system integrations

Allows you to connect your own build tools and processes with the deployment platform.

Support with self-hosted instances of git

N/A

API mesh

API Mesh allows you to combine multiple APIs into a single unified API, simplifying data fetching and integration across different services and backends.
N/A

Deploy Preview feedback integrations

Enables team members and stakeholders to comment directly on preview deployments.
N/A

Edge Functions integrations

High Performance Build Memory and CPU

N/A

Native Build Plugins

N/A

Infrastructure

Firebase is a Google product, and it uses Google Cloud Platform under the hood. GCP is a cloud computing service much like AWS, and just like AWS, it offers world-class infrastructure and a robust set of solutions for data management, application development, etc.

Hosting vise, you can use their Cloud Storage option, but here we are more interested in Firebase, a mobile app dev platform often labeled as backend as a service, which is built to help you host a single-page web app, a mobile app landing page, or a progressive web app without the hassle.

Everything you need to develop an app

Pretty much the same as Amplify Console and AWS, if you really on Google Cloud and their services for a project at hand, integration vise you’ll have fewer complications if you use Firebase. But unlike Amplify Console, Firebase is built with the mobile app in mind first. So, you might say it is Google’s mobile application development platform.

Firebase offers a Real-time NoSQL Database in which you can store and sync JSON data. Every time data changes, each device that runs your app receives changes almost immediately. A real-time database is a great fit for applications that need some collaboration features between users. It can also be used offline. A great choice for Progressive Web Apps and mobile apps. Data is stored locally, and once the device is connected to the Internet, Firebase will sync changes.

Dashboard

In contrast to the GCP dashboard, Firebase is much simpler. You don't need to take a full-day course to set up a simple project. On the left sidebar are all essentials tabs.

Conclusion

Firebase is a great choice if you build a mobile app. You can set up auth and database quickly. Easy integrate more advanced things like Machine Learning or Push Messages. Firebase SDK gives you a fast start and covers all common features.

[@portabletext/react] Unknown block type "prosCons", specify a component for it in the `components.types` prop