SigmundFroyd is correct about Parse no longer being available, so that removes that option right away.
Firebase would be a great starting point in your case. It would be the fastest solution, provides great documentation and should work well for what you need now.
However, there are some things to consider:
The first is, going off what happened with Parse, when you integrate 3rd party services into your app, you run the risk of them shutting down and you’re stuck with having to rebuild a part of your application. I used Parse for one of my apps and once I found out they were shutting down, I had to rebuild my app and server to move away from them. The entire process took maybe a week, but it also halted any progress on new features/bug updates/etc.
If you’re okay with that risk, which I believe to be rather low since Firebase has the backing of Google and seems to be continuing to progress, I think it would be your #1 solution right now.
In the case that you choose to not use a 3rd party backend service, such as Firebase, it gets more complex. First, what do you know as far as server side code already? If you know Ionic/Angular, then picking up Node.js would be a great start.
To give you an idea of what other developers use, my current stack for my all of my mobile applications looks like this:
- iOS + Android App - Ionic/Angular
- Server - Node.js + Express running on Heroku
- Database - Mongo running on MLab.com
- Realtime sync (for real-time chat + updates) - Socket.io + Redis
- Asset Hosting (User images) - AWS S3
I’ve really enjoyed this stack, and it works really well together. Another thing that’s great is I own the codebase/functionality 100%. If at some point in the future, we want to change servers or how we handle real-time syncing, we can make that decision, but it will be our decision and not some 3rd party company.
I hope some of that helps you make your decision and gives you some ideas of what you can do. If you’d like more or have any further questions, feel free to ask away