More than Hello World on Firebase - Why

More than Hello World on Firebase - Why

More than Hello World with Firebase - Why

If you search about Firebase or are attracted by the title, I believe there is no need for me to introduce Firebase which has been explained well with its own documents. So let’s jump into the real stuff.

Why Firebase

  • Cheap or even free in early stage. Here, we are talking about in the early stage of a product. Mostly, we need faster prototyping at that moment. It requires more optimisations after product reach certain user base and, of course, we might need other tools other than Firebase to solve the problem.
  • Easy development with the tools Firebase provides. It provides SDK for Android, iOS and Web and they are open sourced. From frontend development point of view, we can focus on real business problems we need to solve, but no need to struggle with some common parts, such as Auth, Crash report, Event tracking, Push notification, CDN, etc.
  • Google’s service means we will have a bunch of Google’s devops to help us maintain it, so we can put more efforts on real business logic. Our team had discussion about what if Firebase’s service has outage problems. After checking Firebase status dashboard, we could tell that its outage is much less than our own service despite that we don’t have to be 24*7 standby moving forward.

Nothing is perfect

  • Young - compared with AWS, Google’s cloud computing service is still young. That means Firebase itself is not being that widely used as AWS. Besides that, Firebase is not using traditional tech like MySQL, Redis, Nginx or Spring, it might be not that easy for us to get community support. I believe Firebase knows about that and they have plenty of options. There is a Twitter’s hashtag #AskFirebase and Firebase’s dev answer them quite often. And there is also stackoverflow tag Firebase. I personally also join Firebase Community on Slack.

  • Tech limitation - It has limitations as all the other technologies.

    • Firebase Realtime database and Firestore are both not good at full text search, so we have to rely on other 3rd party service to support search part. Our team is currently using ElasticSearch along with Cloud Functions. I will cover this part in another post.
    • Cloud functions has a bit of delay due to cold start.
    • Firestore is being charged by reading/writing times per document so we need to be more careful when design our NoSQL relationships.
    • TBD
  • Google’s limitation - as we all know Google’s service is banned in China which means if you want to run the product in China market, you probably should be more careful to select Firebase. Running web service in China market requires local registration anyway… (I may also cover this part in future post)

  • Lack of business support - Firebase does not have business support yet but only an online support form. It seems to take up to 24 hours to get response from Firebase but sometimes we do need to get someone on call to explain us about the outage.

  • TBD

Comments

Popular posts from this blog

A wired issue of MediaPlayer on Android

How to add pre-receive hook in GitLab

Problem when using Jackson json parser in Android.