sindresorhus/awesome-nodejs — pull request #10 by lpinca (2014-07-13 07:31:37+00:00)
Title: Add Primus to Real-time

[Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in.

> ### Advantages
>
> 1. Effortless switching between real-time frameworks by changing one single line
> of code. No more API rewrites needed when your project requirements change,
> the framework gets abandoned or simply breaks down.
> 2. Built-in reconnect, it just works. The reconnect is controlled by a
> randomised exponential back-off algorithm to reduce server stress.
> 3. Offline detection, Primus is smart enough to detect when users drop their
> internet connection (switching WIFI points/cell towers for example) and
> reconnects when they are back online.
> 4. Automatically encodes and decodes messages using custom parsers. Can be
> easily switched for binary encoding for example.
> 5. A clean, stream-compatible interface for the client and server. You can
> just `stream#pipe` data around. In addition to that, the client works on
> Node.js as well, write once, run it everywhere.
> 6. Fixes various of bugs in the supported frameworks and additional stability
> patches to improve real-time communication.
> 7. Comes with an amazing plugin interface to keep the core library as fast and
> lean as possible while still allowing the server and the client to be
> extended.