Why I love Firebase (and what is Firebase) ❤️🔥

Firebase AppShip3000 @ Google I/O 2017

Firebase (/ˈfī(ə)rˌbās/), Firebase gives developers the tools to develop high-quality apps, grow your user base, and earn more money. Firebase covers the essentials so developer can monetize their business and focus on the users.

Firebase Products/Services

TL;DR: Firebase consists of 2 big services — “Develop & test your app” and “Grow & engage your audience”.

Develop & test your app

Realtime Database — Store and sync app data in milliseconds ❤️

Authentication — Authenticate users simply and securely ❤️

Cloud Functions — Run mobile backend code without managing servers ❤️

Cloud Storage — Store and serve files at Google scale ❤️

Hosting — Deliver web app assets with speed and security ❤️

Crash Reporting — Find and prioritize bugs; fix them faster

Test Lab for Android — Test your app on devices hosted by Google

Performance Monitoring — Gain insight into your app’s performance

Grow & engage your audience

Cloud Messaging — Send targeted messages and notifications ❤️

Google Analytics — Get free and unlimited app analytics

Dynamic Links — Drive growth by using deep links with attribution

Remote Config — Modify your app without deploying a new version

Invites — Make it easy to share your app and content

App Indexing — Drive search traffic to your mobile app

AdMob — Maximize revenue with in-app ads

AdWords — Drive installs with targeted ad campaigns

Features/Products/Services that I ❤️

Since I am a front-end web developer, there are some Firebase features that are completely useless for me (For example, Firebase Remote Config, which is only available on Android, iOS, C++ and Unity). However, there are still a lot Firebase’s features that really make my life easier.

Cloud Functions for Firebase

This is my favorite Firebase feature. Cloud Functions for Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. You even can Node.js framework like Express on Cloud Functions! Super cool!

Also, this is one of the easiest methods to run your Node.js code on the cloud (and without paying anything ehem 😛)

Firebase Realtime Database

Obviously, this is the biggest features on FireBASE. Firebase Realtime Database is a noSQL database that lets you store and sync data between your users in realtime. Everything inside the database is JSON objects, so there are no tables or records. But always remember, always avoid nesting data, keep your data structure as flat as possible. #perfmatters

Also, you can create a Real Time Chat Web App using Firebase Realtime Database in no time!

Firebase Hosting

Firebase Hosting allows you to deploy and serve your web apps and static content to a super fast global CDN. By using Firebase CLI, you can deploy web app just using one command and it will be running in few seconds. Also, you get SSL and HTTP/2 + HTTP/2 Server Push for free. Most importantly, Firebase will setup everything for you. Super awesome!

Cloud Storage for Firebase

Basically Cloud Storage is similar to AWS S3. For developer, Cloud Storage is simple to use and it has high scalability. For user, it’s fast, safe and secure. In fact, Spotify is currently running on Google Cloud Platform and using Cloud Storage to store all the songs. So you can know how powerful is Cloud Storage.

Of course, Cloud Storage is built to store and serve content like photos or videos. For HTML, CSS and JavaScript files, you should store and host it on Firebase Hosting. And use Firebase Realtime Database to store JSON data, like chat messages.

Firebase Cloud Messaging

Notification! Oh yes, you actually can receive push notification on web app. Also, Firebase Cloud Messaging (FCM) is super easy to setup compared to Google Cloud Messaging (GCM). FCM is the new version of GCM, but the configuration for FCM is simple, you no longer have to write your own logic. And it works on everywhere, from web to Android and iOS.

Other small (and big?) stuffs that make Firebase super awesome

There’re some really useful tools that make Firebase super awesome:

Firebase CLI

Probably this is one of the most important tools for me. Firebase CLI is a command line tools for you to: Deploy code to Firebase, Run a local web server for Firebase Hosting, Run a local server for Cloud Functions, and more …

Polymerfire

If you are using (or plan to use) Polymer/Web Components with Firebase, then you need to make sure you are using Polymerfire. Polymerfire is a web component built using Polymer for Firebase. This component allows me to use Firebase (Authentication and Realtime Database) “without” writing a lot of JavaScripts.

Community and the Firebase Team

Google is working very hard to make Firebase super awesome.

Conferences/Events— Firebase is always a big thing in Google I/O for the last few years. And there’s a Firebase conference: Firebase Dev Summit going to happen on Halloween this year, 31st October 2017.

Firecasts — Firecasts is a YouTube series of Firebase Screencasts featuring the super famous David East and other engineers from Firebase.

Firebase Slack — Questions? No Problem! The Firebase Slack community is the best place for you to learn, discussing or ask questions anything about Firebase. And don’t worry, Firebase Google Developer Experts, members from Firebase team and others are always ready to help you.

Stack Overflow and Twitter (#AskFirebase) — As always, you can ask or find questions and solutions on developer’s heaven: Stack Overflow. And Firebase team is super active on Twitter, just put #AskFirebase in your tweet, and the team might answer your question :)

Firebae? Firebase is built for lazy developer? 💁🏻

To be honest, Firebase is super useful during Hackathon, since you can “setup” your database and hosting and few seconds (setup = create and initialize project, that’s it). So you can spend those precious time to prepare on how to pitch your idea, or … sleep.

Also, I built a Progressive Web Apps using Polymer and Firebase for Google I/O Extended 2017 Kuala Lumpur. You can read more here: https://medium.com/@limhenry/case-study-the-google-i-o-extended-2017-kuala-lumpur-progressive-web-app-a786e82984d7.

In fact, I use most of the Firebase features for that progressive web app: Firebase Realtime Database, Firebase Authentication, Firebase Hosting, Cloud Storage for Firebase and Cloud Functions for Firebase. Thanks to Firebase, I can spend more time on making the site loads faster instead of wasting my time on setting up server and database.

Fire Fire Fire! You need Fire Extinguisher 🔥🚒

Firebase is super awesome 🔥 and it’s getting better every day (and [SPOILER] more features are coming soon too!).

You can learn more about Firebase at https://firebase.google.com and try the Firebase codelabs at g.co/codelabs.

Use Firebase, and make your app great again! 🔥

Or maybe the reasons why I love Firebase so much is because I won a free Google I/O 2017 ticket from Firebass challenge ( ͡° ͜ʖ ͡°) and also … I won the Best Progressive Web App Award from Firebase’s Static Showdown 2016 Hackathon. Thanks Michael and the Firebase team!

Winner of Firebass Challenge @ Google I/O 2017