I am currently working on a cloud backend for a typical mobile application. The backend is supposed to serve some data and provide notifications on the changes in the backend.
The most common solution for request/response APIs seems to be HTTP REST. The implementation seems pretty straightforward.
Now the question is on the reverse side of the communication flow, i.e. notifications / events from the backend to the application. I'm wondering what kind of protocols and APIs are typically used in modern mobile applications.
From my experience on web applications I'd try WebSockets, possibly STOMP over WebSockets. There are also some other bidirectional protocols like MQTT but I'm not sure it would be a good fit. Such communication could also be implemented with HTTP via polling but I guess it's a dead end, for a number of reasons.
What protocol would you suggest for the kind of communication where the data is pushed from the backend to the application in form of notifications / events?