Как создать кроссплатформенный чат внутри приложения?
Разрабатываем одновременно iOS и Android клиенты приложения. Появилась потребность сделать простенький чат с оператором для любого пользователя. Подобные чаты видел в приложениях Roamer и Yota. Как и на чем реализовать серверную часть такого чата? Что взять за основу?
Требования такие:
1. Кроссплатформенность для IOS и Android. Желательно разработать 1 раз и чтобы по одной апи-документации можно было его внедрять в клиенты.
2. Оператор должен иметь возможность подключаться любым клиентом, а не сидеть где-то в админке, то есть XMPP
3. Интеграция с действующей базой пользователей: авторизован в приложении — авторизован и в чате. Создался пользователь — создался и в чате и т.д.
4. Желательно, но необязательно: возможность хранения логов каждого чата.
5. Пуши на клиенты при ответе оператора.
Вроде у QuickBlox есть какие-то решения, но вроде как люди советуют делать все свое. Что лучше?
www.rabbitmq.com или zeromq.org
Если нет причин брать Zeromq, то берите первый. Работать с ним будет проще.
Удобно будет реализовать универсальный пушер, который сможет слушать сообщения по tcp + http, и рассылать их подписчикам тоже по tcp + http. Так сможете обеспечить поддержку пушей на любых устройствах и в браузерах.
Я считаю что разрабатывать под android и iOS универсалом - бред. Это системы небо и земля. И везде есть свои плюшки и вкусности. А универсальность потом боком вылезет.