yortus edited this page Mar 27, 2014 · 17 revisions
Clone this wiki locally

Projects using node-fibers

As mentioned in the primary documentation, using the Fiber class directly is generally not recommended. Instead it's recommended that you use some kind of abstraction which uses Fiber internally to create a more flexible or safe interface for your project. Included with node-fibers is the Future class (documented @ node-fibers), however by no means should Future be considered the only option. Listed below are known projects which use node-fibers:

sethyuan/asyncflow asyncflow is an expressive, capable and easy to use async flow library based on node-fibers. It supports parallel calls, concurrency limit setting and features a very friendly interface for coding asynchronous calls in a synchronous way.

0ctave/node-sync node-sync is a simple library that allows you to call any asynchronous function in synchronous way. The main benefit is that it uses javascript-native design - Function.prototype.sync function, instead of heavy APIs which you'll need to learn. Also, asynchronous function which was called synchronously through node-sync doesn't blocks the whole process - it blocks only current thread!

olegp/common-node implements a number of CommonJS proposals on top of Node.js using node-fibers. Fibers are used to emulate multi-threading within a single process, allowing one to use a synchronous programming style.

lm1/node-fibers-promise fibers-promise is a small yet powerful library based on fibers. A promise is just a value container with build-in synchronisation mechanism. Promises allow you to get rid of callbacks clutter.

chriso/synchronous see this blog post for more information.

scriby/asyncblock A simple stop and go interface to fibers, with parallel execution support, error handling, and tracking of call stacks across asynchronous boundaries.

streamline.js A small extension to the JavaScript language to simplify async programming. Gives you the option to generate callback-based or fibers-based code. Supports futures too.

Fibrous provides an easy model for mixing asynchronous and synchronous programming styles using node-fibers and its Future implementation. Includes connect middleware for express apps and test helpers for using fibrous in your applications.

Meteor is an ultra-simple environment for building modern web applications.

Wait.for is a simple, straightforward abstraction over Fibers. You can wait.for(any_async_function)

asyncawait brings C#'s async/await style of asynchronous coding to Node.js, with Promises in the place of C#'s Tasks. It's a tiny abstraction over fibers.