Why would I use MQTT over Ably's realtime protocol?

At Ably we believe in protocol interoperability, and whilst we believe our own native realtime protocol in a lot of cases offers the right balance between performance, portability and quality of service, we recognize that developers should be given the choice to choose the right protocol for their applications based on their own use case. As such, we offer support for MQTT in addition to a number of other protocols.

 

MQTT is an open ISO standard providing a lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks.  It has a very active community and is supported by large technology organizations such as IBM. As a result, MQTT client library support is superb and you can find an MQTT library for almost every internet enabled device in existence, including low energy IoT (Internet of Things) devices.

 

We recommend you consider MQTT if:

  • Ably does not offer a native library that supports your target platform. See the completely list of Ably client libraries.
  • Ably offers a REST-only client library for your target platform, but you need a realtime client
  • You want to avoid any type of vendor lock-in and as such want to use open protocols
  • You have stringent bandwidth restrictions and want to keep network traffic to an absolute minimum
 
We recommend you use Ably client libraries and our realtime protocol if:
  • You want a high quality of service and high availability even during significant events such DNS failure or network partitions. Find out how we do this.
  • You want access to features such as Presence, History, Push notifications, automatic payload encoding, symmetric encryption. See a complete list of Ably features, a lot of which are only available to Ably clients.
  • You want first class browser support with WebSockets.
 
If you would like to use MQTT, see our MQTT adapter usage notes.