6 months ago I used Firebase for my project but later I quit it. After the time struggling with Firebase I realized that there are a lot of issues during I were using Firebase with a big project. Firebase has some limitations and here is a list of 5 things I would like to let you know that Firebase not is a good choice. These things below is my opinion and some commentators from quora.
1. Your data is not yours
Your data is hosted on servers that you don’t own, it’s not possible to export your user data. You can’t export emails, and user accounts are not recoverable, you cannot export user accounts with passwords.
It was not possible to export your data when you had hundreds megabytes hosted.
Only one way to export data email/password data is possible by contacting Firebase team, but not from Dashboard.This is really inconvenience.
2. The problem of data migration
With Firebase, you can’t deal easily with data-migration like you can do with a simple SQL database. Firebase uses JSON and there are almost no features SQL features, so you wouldn’t be able to migrate from the existing database easily.
If you’re managing large amounts of highly structured data. With a regular relational database you can write powerful queries in SQL to quickly get the data your looking for. There’s no equivalent with Firebase. Also, you could use an ORM to further simplify data handling.
3. Limited querying
Limited query abilities due to Firebase’s data stream model. The Firebase Database queries are limited. Certain query options can’t be combined. Because of this, you’ll have to choose, either you order the documents by date or filter them with user’s search query on the database side and perform the other action on the client side.
4. Very oriented toward real-time sync
Firebase seems very oriented toward real-time sync. If you type in a text field, the database gets updated automagically. If someone else types in a text field, your screen adjusts. The primary documentation examples and Angular integration seemed focused on this. It’s not what I wanted, though. I’d be fine writing queries and using an event handler to update the database, or receive someone else’s update.
5. Security rules are limited
Security rules might be one of our biggest struggles with Firebase. The rules have been designed to be fast for Firebase’s servers to execute at request time, but the downside of this is the rules are limited that it’s very hard to build an enterprise platform on top of them.
The security rule json file quickly grows to be an unwieldy size and it’s rather terrifying to open up the rules editor and touch it lest you break the rules and bring down the entire application.
Conclusion: If you’re building something cool and needs a fast, reliable database, user authentication and usage tracking, then Firebase is a great way to go. Not recommend for complex project. Large application, very few people use serverless, if you do not want later to pay expensive to sit back.
Compilation by Atom @Reactsharing