I need to implement a real time queue of items in my iOS App. (later Android too).
The main use case is for a user to see a real time shared queue by all users. there can be many queues, but currently user can only see one queue at a time. If one user deletes item from a queue, all other user of the iOS app viewing the same queue should see the queue updates in real-time. if my server detect that a new item was added to a certain queue, it should be pushed to all other clients viewing that queue in real-time.
What would be the best way to implement such mechanism ? currently supporting only iOS, but it should be an easy solution such that adding other mobile platform later wouldn't be an hassle.
I guess there are 2 main options:
- Doing it using web technologies (JS & Html5) (basically presenting a UIWebView)
- native way - using apple's push notification or other persistent connection options. (push notification is better if I want to be able to alert user of queue changes even if the app is in the background or god forbidden closed)
Obviously I can choose a hybrid solution as well.
I'm familiar with the following PUB-SUB solution:
1.Xmpp (extension to Xmpp would be more accurate)
2.MQTT
3.Pubnub - http://www.pubnub.com/ (pretty new out there)
4. I read about Linked-in Kafka, but that seems way more advance and complicated to ny current needs.
I'm curious to hear if anyone experimented with any of theses or others, can recommend one, and say if the native or web is the preferred path. The chosen solution have to be something that's easy to use, and fast to implement, even at a cost of a little scale. (the server side is written mostly in php, but node.js is an option as well)
Thanks