I recently stumbled upon a tool called Pusher which is a hosted service that enables developers to create real-time apps through APIs. It is for both mobile and web apps and functions as a layer between clients and a host server in real-time.
This tool is used for providing various services such as notifications, in-application chat clients, real-time location tracking tools, and real-time data charts, and dashboards. Its scalability is also why quite a few companies use it.
The main two products, Channels, and Beams lets the user develop real-time features for apps and the creation of push notifications respectively. I will also potentially be using Pusher channels for matching users and showing messages to them in a small game I am making with React. However, there are other hosted services for realtime backend API like Socket.IO which provides real-time analytics as a key feature.
Some more in depth features:
- Easily build scalable in-app notifications, chat, realtime graphs, geotracking and more in your web & mobile apps with our hosted pub/sub messaging API.
- Send programmable push notifications to iOS and Android devices with delivery and open rate tracking built in.
- Easily add 1-1 and group Chat to your web & mobile apps. Presence, message storage, rich media, notifications, typing indicators and more.
For installation and more in-depth usage information for Pusher client library: https://www.npmjs.com/package/pusher-js