UPDATE June 2019: we now support SSE too.
We’re happy to announce the public beta of the Ably MQTT adapter. A year ago, we launched Ably protocol adapters with support for the Pusher and Pubnub protocols. We believe in being protocol agnostic, and maximizing interoperability. As a side benefit, they let you gradually migrate from one service to another, and let you mix and match client libraries from different providers with Ably, including platforms that don’t yet have native Ably libraries.
Since then, we’ve been building support for as many other services and open protocols as we can. With the launch of the Ably Reactor, you can now stream messages from Ably to a wide variety of other platforms, and (through our Reactor Queues) consume them through AMQP or STOMP protocols. MQTT support is the latest expression of this.
As with the other Ably adapters, everything is perfectly interoperable. You can have devices using MQTT, Pusher, Pubnub, and native Ably client libraries, all communicating with each other using Ably. Using the MQTT adaptor costs nothing above your normal Ably package usage.
Our MQTT adapter is now our recommended way of interacting with Ably from devices which do not have a native Ably client library, such as Arduino platforms, C/C++ applications, and so on. We recommend that anyone who has previously been using Pubnub or Pusher client libraries for this purpose consider switching to MQTT. Compared to using the Pubnub adapter, using MQTT will result in better performance with lower latency. Compared to the Pusher adapter, MQTT will give you connection state recovery, which the Pusher protocol doesn’t support. We also recommend MQTT in use-cases where bandwidth is limited and you want to keep network traffic to a minimum.
Note that our MQTT adapter is just an adapter for the Ably service, not a standalone broker. That means that it doesn’t support any MQTT features that aren’t normally supported by Ably. For example, Ably does not support RETAIN messages or wildcard channel subscriptions, so those features are not supported in the MQTT adapter either. The adapter usage notes give more details of what features are supported.
To use the MQTT adapter, have a read through the usage notes at https://support.ably.io/support/solutions/articles/3000074906-using-the-mqtt-protocol-adapter. If you experience any issues, have any questions, or have any other feedback, please contact us at firstname.lastname@example.org or over the live chat from https://www.ably.io. We’ll be launching into general availability soon, and will have another post and some tutorials up then.