Perplexity about the use of Firebase

Hi guys,
this is not a technical question I know, perhaps it is a bit off-topic, but I think it is important to discuss the technologies we use every day to make our Apps.

I see everyday tutorials and articles that promote and explain the use of Firebase with Angular, Ionic, and other technologies.
But I have some concerns and some doubts about Firebase, because it is a Google proprietary technology and because it must be hosted on their servers.
At the moment these two things are a guarantee of quality, but what about the future?
What will happen if Google increases prices or introduces other limitations?

Would you trust to use Firebase for an important application? What would happen if overnight, for some reason, it was no longer usable? The fact that it cannot be used with the on-promise formula, in my opinion, is not reassuring.

What do you think?
Are there real alternatives?

Claudio

Since there’s a “moderator” badge after my name, I guess I should probably say explicitly that this is my personal opinion only, and in no way represents any official position of anything having to do with the Ionic team.

Absolutely not. If I’m going to be responsible for fixing stuff when it breaks, I refuse to hold myself hostage to a single service provider.

Since I have categorically insurmountable philosophical objections to using services like this (see above), I haven’t investigated the details of what Firebase has to offer in sufficient detail to be able to answer this exact framing, but I’ll say this:

There are absolutely a myriad of alternatives for hosting data that is intended to be used by Ionic apps. The stack I personally use and endorse is:

  • S3 for static asset storage (doesn’t have to be AWS; many hosting providers have S3-compatible storage offerings)
  • Docker for containering (although I’d like to switch to buildah / ansible / kubernetes, haven’t had enough free time to figure all this out yet)
  • PostgreSQL for a relational database
  • Golang and specifically gocraft/web for REST middleware

If you prefer to swap out Maria for Postgres or PHP for Golang, cool. Although it may seem counterintuitive, the one thing I would not do is use Node.js on the server side, because it creates natural tendencies to lock yourself into JavaScript. Having client and server be written in different languages I have found to be a natural firewall making me code the communication between them in a completely language-agnostic way, so that if I want to change one side, it can be done independently of the other.

1 Like