Мне нужно реализовать очередь элементов в реальном времени в моем приложении для iOS.(позже Android тоже).
Основной вариант использования - чтобы пользователь мог видеть общую очередь в реальном времени для всех пользователей.может быть много очередей, но в настоящее время пользователь может видеть только одну очередь за раз.Если один пользователь удаляет элемент из очереди, все остальные пользователи приложения iOS, просматривающие ту же очередь, должны видеть обновления очереди в режиме реального времени.если мой сервер обнаружит, что новый элемент был добавлен в определенную очередь, он должен быть отправлен всем другим клиентам, просматривающим эту очередь в режиме реального времени.
Каков наилучший способ реализации такого механизма?в настоящее время поддерживается только iOS, но это должно быть простое решение, так что добавление другой мобильной платформы позже не будет проблемой.
Я полагаю, есть 2 основных варианта:
- Делать это с помощью веб-технологий (JS & Html5) (в основном, представляя UIWebView)
- нативным способом - с помощью Applepush-уведомление или другие постоянные параметры подключения.(push-уведомление лучше, если я хочу иметь возможность предупреждать пользователя об изменениях в очереди, даже если приложение находится в фоновом режиме или запрещено Богом)
Очевидно, что я также могу выбрать гибридное решение.
Мне знакомо следующее решение PUB-SUB:
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.
Мне любопытно услышать, может ли кто-нибудь поэкспериментировать с любым из этих или других тезисов, может порекомендовать один и сказать, еслинативный или веб является предпочтительным путем.Выбранное решение должно быть чем-то простым в использовании и быстрым в реализации, даже при небольших затратах.(серверная часть написана в основном на php, но также можно использовать node.js)
Спасибо