State of Firebase (late 2020)

Official Firebase & Community Updates!

Wtih 2020 coming to an end, here are some notable releases since our last look at the State of Firebase!

state-of-firebase-late-2020-cover-image

Official Product Updates

Cloud Functions:

  • Node.js 14 LTS is in BETA while Node.js 8 is set to be deprecated in 2021
  • in addition to setting the runtime verison in package.json it can now be set in firebase.json with the functions.runtime field.
  • Per Function Service Accounts defined with serviceAccount in runWith() options
  • Per Function vpcConnector and vpcConnectorEgressSettings in the runWith options

Emulator Suite: Support for the Authentication service with local login windows and ID Tokens was added, rounding out the support for the local development of your product. SDKs were also improved for better unit testing of Security Rules, even in CI pipelines!

firebase-emulator-suite

Sourced from Firebase Docs. Credit to Firebase.

Authentication: Sign in with Apple

Hosting:

  • Brotli compression 🎉
  • i18n rewrites with language preference detected via Accept-Language request header and country detected by IP address
  • Preview Channels support deploying your site to a temporary URL that is shareable within your team. This is used to power PR preview deployments in the GitHub Action action-hosting-deploy (not official, but maintained by Googlers/Firebasers). Preview Channels does not support SSR workflows yet. Official launch blog post.
Firebase PR preview deployments

Sourced from the official launch blog post. Credit to Firebase.

Realtime Database: has a new region in Belgium and also supports multiple instances of RTDB in the same Firebase project.

Friestore!= and not-in in query .where clause.

Security Rules: Language improvemnts with support of Sets, Maps, Local variables and the ternary operator. Improved rule size limit from 64KB to 256KB.

Extensions:

Performance Monitoring: New dashboard with near-realtime data syncing.

Remote Config: New dashboard with groups, filtering, sorting, searching and an icon to denote if it is in use in an experiment.

BigQuery:

Events

Official Firebase podcast logo

Official Podcast Logo. Credit to Firebase.

Firebase Podcast was launched and is hosted by David East! It is available on all your favourite podcast platforms: SpotifyGoogle PodcastsStitcher etc

Thanks to all the Firebase Live & Firebase Summit organizers and presenters, the virtual events really helped with this difficult year. For those who missed them:

Open Source & Community

  • firebase-kotlin-sdk — Kotlin-first SDK for Firebase supporting multiplatform projects (iosandroid & js).
  • GeoFirestore — Location-based querying and filtering using Firebase Firestore saw a v4 release this year with a lot of improvements.
  • SvelteFire — Cybernetically enhanced Firebase apps Svelte.
  • Firestore Lite — Lightweight Cloud Firestore library for the browser.
  • React Fire — Official Firebase React library with Hooks, Context Providers, and Components that make it easy to interact with Firebase. This library was used heavily in the early days of React but has since been updated and repurposed to be the Firebase dev-team supported React library.
  • Firecode — VS Code Firestore Rules Extension.
  • Flank — Massively parallel Android and iOS test runner for Firebase Test Lab.
  • Flamingo — A Firebase Firestore model framework for Dart/Flutter.
  • FlutterFire — Collection of Firebase plugins for Flutter apps. This library had a large refactor this year bringing much better product support!
  • Firetable — Excel/Google Sheets like UI for Firebase/Firestore. No more admin portals!

Sourced from awesome-firebase, PRs welcome!

Conclusions

The second half of 2020 brought some great additions to the Firebase product lineup, particularly rounding out the local developer experience and CI pipeline support, as well as the Enterprise-y features of VPC Connector and Service Accounts for Cloud Functions!

For more play by play updates, follow along with Awesome Firebase 🔥

Or join the Firebase alpha program and help test out these features!