Courier Is Now Open-Source

Here's the new addition to our open source roster: Courier, a persisting connection that pushes content from our server to the app.

Courier Is Now Open-Source

By Deepanshu

Courier is the superhighway between mobile devices and our backend servers. It’s a persisting connection through which we’re able to push content from our server to the app. We’re excited to announce that we have open-sourced three Courier libraries for mobile and backend clients:

These client libraries can be used to create a long-running connection with an MQTT broker on Android, iOS, and Go applications.

Courier is a scalable, low latency, and persistent network transmission mechanism for mobile<>server communication built over MQTT protocol.
Courier · Information Superhighway

Features

Quality of Service

All Courier libraries support three QoS levels for reliable message delivery: 0 (at most once), 1 (at least once) and 2(exactly once).

Automatic Reconnect

All Courier libraries are able to reconnect automatically whenever there are network or other unexpected failures using a connection retry policy.

Flexible Encoder/Decoder support

All Courier libraries provide support for converting MQTT message payload to or from any custom message type.

Clean & easy to understand APIs

All Courier libraries provide clean APIs for connect/disconnect, subscribe/unsubscribe and publish/receivefunctionalities. The APIs are simple and easy to understand.

Observability

Courier libraries also provide events for tracking end-to-end message delivery and connection lifecycle.

Documentation

All Courier libraries are well-documented with examples. Also, these libraries have their own individual documentations hosted on github pages.
courier-android : https://gojek.github.io/courier-android
courier-iOS : https://gojek.github.io/courier-iOS
courier-go : https://gojek.github.io/courier-go

You can read more about courier here. Also, you can find the end-to-end chat example created using these courier libraries.

Other library-specific features:

We have also covered Android & iOS libraries in detail in our blogs.

Oh, it’s a five-part series, so your tech reading for the weekend is sorted. 🖖

Introducing Courier - The Information Superhighway Between Mobile & Server - 5 min read
Here’s how we built Courier, a persisting connection through which we’re able to push content from our server to the app.

How to reach out?

You can join our discord server to connect with the team behind this amazing project.

Find more stories from our vault, here.
Also, we’re hiring! Check out open job positions by clicking below: