> It seems that GCP is cannibalizing the Firebase developer environment.
Yeah as a latecomer I got this impression and rolled my eyes. I imagined a debate in the office between an passionate Firebase OG and a Google exec holding an OKR portfolio, the passionate engineer trying to delay the inevitable gobbling up of firebase!
For me Firebase has lot of cuts, maybe not 1000 but things like:
* No formal definition of rules, just some very scant documentation. Much of it is undocumented or can only be found in SO answers.
* Emulator fatigue! Like Azure storage, the emulator is a good approximation to the real thing but you end up chasing down bugs locally when it is an emulator quirk. Postgres OTOH you run the same thing in prod. Same for mongodb, mssql, mysql etc.
* Firebase admin sdk has a completely different API to the normal sdk to do all the same things! I get it: smaller JS bundles, but why not just reuse a lot of those changes in admin?
* You have to have a local file with authentication secrets to a cloud db in order to run the emulator! I just have a test deployment for this but it feels unnecessary.
* I don’t think the model of letting users upload json directly to collections is secure- unless you are a genius with firebase rules. This might be more of a general criticism of nosql over http. CouchDB might have the same issues I guess.
* Rules bugs like if you do a query with clauses your rules don’t have access to the entire object just the queried fields. You need to add ghost fields to the query to make the rule run properly.
Probably more things I forgot about too.
I am even tempted to reverse engineer rules to write a proper guide. If that sounds interesting let me know.
Finally I prefer open source stuff for a lot of the usual reasons. So closed source stuff has to be beyond excellent to make sense to me to use.