Portal

JavaScript library for real-time web application development.

The Portal is a concise, lightweight and feature-rich JavaScript library for real-time web application development. The Portal not only provides socket for browser-based and Node.js-based applications that need two-way communication with servers, but also aims to utilize a full duplex connection for modern web application development.

The Portal greatly simplifies things essential to real-time web applications like connection sharing, reply, heartbeat and disconnection detection. The Portal is designed by carefully considering known issues and best practices of real-time web to provide a reliable socket based on its simple protocol.


Server agnostic

Easy to implement in server-side. The portal server passing the test suite wirten in JavaScript for Node.js is less than 2KB minified and gzipped though it doesn't matter.

Socket for All

Even for Internet Explorer 6. Not only WebSocket but also Server-Sent Events, Streaming and Long polling over HTTP are supported considering their known issues.

Connection sharing

It's feasible in browser. Connection can be shared and used across multiple tabs and windows as long as browser session is alive.

Heartbeat

Considering a multitude of browsers, transports, servers and their combination, Heartbeat is essential to maintain stable connection.

Reply

Conversation not notification. Once in a while, simple event-notification is not sufficient. Then, client and server can have conversation by sending and replying to event.

Lightweight

The portal.js in master branch takes only 6.88KB minified and gzipped. Compare it to others.