I am pretty excited to let you know that we just revamped our JavaScript SDK to version 4!
The new SDK has been rewritten from the ground up to improve it with better performance, smaller footprint, event emitter patterns, and provide you easier-to-use APIs. Changes include:
In the version 4, not only the source code itself, but the exposed APIs are pretty different from the previous version.
To try it out on web, include the version of SDK:
<script src="https://cdn.pubnub.com/sdk/javascript/pubnub.4.0.4.min.js"></script>
For Node.js, install from npm:
$ npm install pubnub
Note: If you need to use the Node.js SDK < 4, you need to install the older version (pubnub@3.15.2
).
and include it with ES5:
PubNub = require('pubnub');
or with ES6:
import PubNub from 'pubnub';
You can just instantiate the PubNub object, instead of using init
method as in the previous version:
var pubnub = new PubNub({ subscribeKey: 'my-subscribe-key', publishKey: 'my-publish-key' });
In v4, we use the event emitter pattern, instead of callbacks:
pubnub.addListener({ message: function(message) { // handle incoming messages }, presence: function(presence) { // handle incoming presence events. }, //... });
To subscribe, you no longer use the success callbacks as you do with v3.x, but instead, use the event listener to listen to the message event.
Also, channel is now channels (plural) that takes an array.
pubnub.subscribe({ channels: ['doge-channel'], withPresence: true // this also subscribes to presence instances });
The publish function uses the traditional success callback, as seen in v3.x, however, the v4 comes with extra params.
pubnub.publish({ message: {name: 'tacocat'}, channel: 'cat-only-channel', sendByPost: false, // send via POST storeInHistory: false, // override default storage options meta: {'so': 'meta'}, // publish extra meta data function (status, response) { // handle status, response } });
For more details for the new SDK and all the deltas between 3.x and 4, see the JavaScript SDK v4 Documentation.
There are common underlying technologies for a dating app, and in this post, we’ll talk about the major technologies and designs...
Michael Carroll
How to use geohashing, JavaScript, Google Maps API, and BART API to build a real-time public transit schedule app.
Michael Carroll
How to track and stream real-time vehicle location on a live-updating map using EON, JavaScript, and the Mapbox API.
Michael Carroll