Client Open Libraries
Channels API libraries
Sending and receiving messages with Channels-compatible APIs requires libraries.
Libraries are commonly split into two categories:
- Client: mostly used to consume realtime events over WebSockets, and may also publish client events.
- Server: used to publish events, call HTTP APIs, authenticate/authorize users, and process webhooks.
Official libraries
The following libraries are maintained by Pusher.
Client libraries
| Library | Maintainer | Docs | Code |
|---|---|---|---|
| Android (uses Java library) | Pusher | GitHub | pusher/pusher-websocket-android |
| AngularJS (uses JavaScript library) | Pusher | GitHub | pusher/pusher-angular |
| iOS: Swift and Objective-C | Pusher | GitHub | pusher/pusher-websocket-swift |
| iOS: Objective-C | Pusher | Docs | pusher/libPusher |
| Java | Pusher | GitHub | pusher/pusher-websocket-java |
| JavaScript | Pusher | Docs | pusher/pusher-js |
| .NET | Pusher | GitHub | pusher/pusher-websocket-dotnet |
| Unity | Pusher | GitHub | pusher/pusher-websocket-unity |
| Flutter | Pusher | GitHub | pusher/pusher-channels-flutter |
| React Native | Pusher | GitHub | pusher/pusher-websocket-react-native |
Official server libraries
| Library | Maintainer | Docs | Code |
|---|---|---|---|
| Go | Pusher | godoc.org | pusher/pusher-http-go |
| Java | Pusher | GitHub | pusher/pusher-http-java |
| .NET | Pusher | GitHub | pusher/pusher-http-dotnet |
| Node.js | Pusher | GitHub | pusher/pusher-http-node |
| PHP | Pusher | GitHub | pusher/pusher-http-php |
| Python | Pusher | GitHub | pusher/pusher-http-python |
| Ruby | Pusher | GitHub | pusher/pusher-http-ruby |
| Swift | Pusher | GitHub | pusher/pusher-http-swift |
Community libraries
These are community-maintained libraries. They may be incomplete and are not officially supported by Pusher.
ActionScript
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| PusherAS | Client | rocketengine.io | GitHub | rocketengineio/PusherAS |
| Pusher-ActionScript-Library | Client | Shawn Makison | - | smakinson/Pusher-ActionScript-Library |
Android
Also see Java.
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| titanium_pusher_android | Client | Ruben Fonseca | GitHub | pusher/titanium_pusher_android |
Arduino
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| ArduinoPusherClient | Client | Kevin Rohling | GitHub | krohling/ArduinoPusherClient |
C++
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| niv/pusher-websocket-cpp | Client | niv | GitHub | niv/pusher-websocket-cpp |
| pusherpp | Server | Mazen Abdulaziz | GitHub | parallelfold/pusherpp |
| BenPope/pusher-cpp | Client and Server | BenPope | GitHub | BenPope/pusher-cpp |
Clojure
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| clj-pusher | Server | Bartosz Blimke | GitHub | bblimke/clj-pusher |
Coldfusion
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Pusher.cfc | Server | Ben Nadel | GitHub | bennadel/Pusher.cfc |
Dart
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Dart Pusher | Server | Adao Junior | dartdocs.org | adaojunior/pusher |
Elixir
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Pushest | Client | Tomas Koutsky | hexdocs.pm | stepnivlk/pushest |
Flutter
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| flutter_pusher | Client | Genert | GitHub | ninjasolutions/flutter_pusher |
| pusher_client | Client | chinloyal | GitHub | chinloyal/pusher_client |
Grails
See Groovy.
Groovy
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| groovy-libpusher | Server | zenuevo | GitHub | zenuevo/groovy-libpusher |
| pusher-plugin | Server | micpango | GitHub | micpango/pusher-plugin |
Haskell
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| pusher-http-haskell | Server | Will Sewell | hackage.haskell.org | WillSewell/pusher-http-haskell |
| pusher-haskell | Server | Sid Raval | GitHub | sidraval/pusher-haskell |
| pusher-ws | Client | barrucadu | hackage.haskell.org | barrucadu/pusher-ws |
iOS
Also see Objective-C.
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| titanium_pusher_ios | Client | Ruben Fonseca | GitHub | pusher/titanium_pusher_ios |
Java
Also see Android.
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| JavaPusherClient | Client | Justin Schultz | GitHub | jmschultz/JavaPusherClient |
| gae-java-libpusher | Server | - | GitHub | marcbaechinger/gae-java-libpusher |
| Play2Pusher | Server | Tindr Solutions | GitHub | tindr/Play2Pusher |
| Play-Pusher | Server | regisbamba | GitHub | regisbamba/Play-Pusher |
JavaScript
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Laravel Echo | Client | Laravel | laravel.com | laravel/echo |
.NET
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| pusher-universal | Client | Gateway Apps | GitHub | gatewayapps/pusher-universal |
| Pusher.NET | Client | Digital Creations AS | GitHub | digitalcreations/Pusher.NET |
| JDI PusherClient | Client | Jim Stabile | jdipusherclient.codeplex.com | jdipusherclient.codeplex.com |
Node.js
Also see JavaScript.
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| pusher-node-client | Client | Abhishiv Saxena | GitHub | abhishiv/pusher-node-client |
Objective-C
Also see iOS.
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Bully | Client | Sam Soffes | GitHub | samsoffes/bully |
Perl
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| WWW::Pusher | Server | Squeeks | GitHub | pusher/pusher-perl-server |
PHP
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Laravel | Server | Laravel | laravel.com | laravel/laravel |
| ZfrPusher | Server | Michael Gallego | GitHub | zf-fr/zfr-pusher |
| Channels PHP SDK for CodeIgniter | Server | Mattias Hedman | GitHub | darkwhispering/pusher-for-codeigniter |
| Symfony | Server | Pierre-Louis Launay | GitHub | laupiFrpar/LopiPusherBundle |
| Zend Framework 2 | Server | Michael Gallego | GitHub | zf-fr/zfr-pusher-module |
| Yii PHP Framework | Server | nk913 | yiiframework.com | yiiframework.com |
| Kohana 3 | Server | 2bj | GitHub | 2bj/Pushko |
| FuelPHP | Server | Ahmad Shah | GitHub | lembubintik/pusherapp |
| Drupal | Server | fabianderijk | drupal.org | drupal.org |
Python
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| Pysher | Client | Nils Diefenbach | GitHub | nlsdfnbch/Pysher |
React
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| react-pusher-hoc | Client | Felix Wostal | GitHub | fel1xw/react-pusher-hoc |
QML
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| qml-pusher | Client | Jason Barron | GitHub | Cutehacks/qml-pusher |
Ruby
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| pusher-websocket-ruby | Client | Logan Koester | GitHub | pusher/pusher-websocket-ruby |
Scala
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
| dtaniwaki/akka-pusher | Server | dtaniwaki | GitHub | dtaniwaki/akka-pusher |