The Good Things, and the Not So Good Things, About Working With Firebase

Written by jure | Published 2020/06/13
Tech Story Tags: firebase | google | gcp | hackernoon-top-story | authentication | cloud-functions | hosting | web-monetization

TLDR Google’s product called Firebase is a set of tools that most developers will need when building an app. In this article I’ll explain, in detail, the features that I think are very useful and the ones that are by me not so good. Firebase includes: Cloud Firestore, Cloud Functions, In-App Messaging and Cloud Messaging. Cloud Storage is a No.Sql database that allows you to easily store and use the data. Cloud Functions are basically a piece of code that only runs when you say it to run.via the TL;DR App

Most of the developers have heard for Google’s product called Firebase. It’s, how Google says “mobile platform that helps you quickly develop high-quality apps and grow your business.“. It’s basically a set of tools that most developers will need when building an app. In this article I’ll go over these tools, and point all the things you need to know if you choose to use Firebase.
Before we start, I need to say that I won’t be going into the details about all the tools that Firebase offers. I’ll explain, in detail, the features that I think are very useful and the ones that are by me not so good. Let’s start!

Firebase Includes:

  • Cloud FirestoreCloud
  • Cloud Function
  • ML Kit
  • Authentication
  • Hosting
  • Cloud Storage
  • Performance Monitoring
  • In-App Messaging
  • Test Lab
    There are other ones that you can take a look here.

Authentication

I’m gonna start with my favorite tool, Firebase Authentication. If allows you to implement user authentication with just a few lines of code. The users that create their account through Firebase Authentication are automatically stored and you get the ability to see an manage all those users. Users can be authenticated using standard email and password, phone, or with their Google, Twiter, GitHub, or Facebook account.

Authentication is not so complex feature to implement it on your own, but since every app is using it, it’s my favorite one.

Cloud Functions

Cloud Functions are the Google’s version of AWS Lambda. It’s basically a piece of code that only runs when you say it to run. These can be very useful if you want to make a static website, but still have some back-end functionalities. It’s mostly used for data processing.

Hosting

Now to one service that is not my favorite one. Firebase Hosting seems like the best solution for someone who want’s to use some Firebase products. When using a Firebase Hosting, you can automatically monitor your website usage, performance, crashes, etc. But is’s not the best value.
As we can see, they charge you $0.15 per GB of transferred data, which includes the loading of your website. So if your website has 10 MB, and you have 10.000 views per month, you’ll pay $15. That’s not so much, but keep in mind that you don’t get webmail, you don’t get domain either. If you were to buy that too, it would cost you approximately $20/month in total. That’s not that expensive, but if you would use hosting providers like BlueHost, it would only cost you $3.5 – $5.5/month, depending on how long you buy the hosting. Plus you get a webmail, free domain for the first year and you can still use other Firebase services.

Firestore

Cloud Firestore is a NoSQL database that allows you to easily store and use the data. It’s also has a nice UI, which allows you to manually change the data. There is one thing that I don’t like, that’s that Firestore and Authentication are not connected. If you would want to store the authenticated user in the database, so that it can contain some more data, there is no quick way to do that. I hope that will be added in the future. In terms of the other things, there is nothing more to say that it’s a very nice looking database.

Other Services

Now let’s get to not so important services. These are the Performance Monitoring, it does what the name says, Google Analytics. They offer an ML Kit, which is basically hosting for the machine learning model. There is also Cloud Storage, which can be used to store user’s images, videos, etc, but it’s also not connected to the Database, so you need to do the process manually. For sending messages and communicating between users there are In-App Messaging and Cloud Messaging, they do what the name says, allow you and other users to send messages. All these things can be tested with Test Lab and A/B Testing.
Don’t get me wrong, these things are very far from bad, they are actually very good, but they are not something that doesn’t exist, not something that would get me to say wow.

Conclusion

All in all Firebase is one great solution, and I personally use it. I just tried to point out some things that I feel you should know when using it.
I hope that I have helped you with this article. If you liked this article, make sure to share it with your friends.
Also, if you think that I have missed something or you have any other questions, be sure to post your questions in the comments or send me an email at info@codequickie.com, I will be happy to answer them.




Written by jure | Hi, my name is Jure Reljanović. I like learning about coding and technology and helping others by sharing my experience.
Published by HackerNoon on 2020/06/13