Header Ads

Firebase is not suitable to large scale project


It was real cool to using Firebase to setup your product  , it fast , easy and it can  save you tons of time.But when your product scale up , getting bigger and bigger then Firebase became a nightmare, slowing our execution.

And here is why .


  • First, dealing with Firebase in production is hard. You can't deal easily with data-migration and you have to do things like that to prevent js crashes:
  1. if (user && user.new_subdocument && user.new_subdocument.new_property) {
  2. //Do stuff
  3. }
  • Then, Firebase is loading all subtrees on load and your webapp will be more and more slower and your users will have more and more data.
  • In most apps you have to deal with relations (eg: a user belongs to a team, and a team has users), it’s hard to deal with relations using Firebase.
  • Beside the fast that your data are hosted on servers that you don't own, it's not possible to export your users data. You can't export emails, password hashes. It was not possible to export our data when we had hundreds megabytes hosted. We had to contact Firebase by e-mail.
The problem is not so having proprietary code, it’s more about ease of use in web apps getting more and more complex.


Here is some recommendation for you if you wan to use firebase for your next product.

=> I would probably move to only store in firebase the parts of the app that require the realtime interaction rather than everything our app stores.

=> For large scale and complex app is that you may consider using Firebase for user authentication or some sub-features of your app. Especially those that need real-time update (eg. chat, comment, likes, vote & etc.). The real-time database is really good at that and can save you tons of time of building your own Push service. You may also treat the real-time database as a Message Queue like services and implement the Pub/Sub or RPC system around it, but do not expect it work as efficient as a real MQ broker. Some other feature like Ad-word, analytic, and deep-linking are also useful and easier to enable by using Firebase provided libraries. Since they are now belong to Google which is the provider for some of this services, I think the support of all this services will only get better.


=> Lastly, if you are building a prototype for some prove of concept, it definitely help you to complete you prototype in shorter time. It’s super easy to use with SDK and it’s currently totally free within a reasonable quota.

Collection from quota.com

No comments:

Powered by Blogger.