know cujoJS
Your source for everything you may want to learn about cujoJS, including getting started tutorials and sample applications.
Recently Blogged
When.js 3.2 released
We recently released when.js 3.2 (3.2.2 as of this post), cujoJS's JavaScript promises implementation.
It has some pretty cool and unique features:
Speed - It's currently one of the fastest promise implementations. In a current set of benchmarks from another promise vendor, when.js 3.2 is 10x to over 100x faster than the native Promise implementations in Firefox, Chrome, and Node (v0.11.13).
Scalability - Most other implementations don't scale well. As the amount of parallelism and number of promises increases, their performance increases linearly or worse. When.js's speed and memory usage scale better than linear, even for tens of thousands of parallel promises.
Debuggability - asynchronous code and promises are notoriously hard to debug. In other JavaScript promise implementations, asynchronous failures are silent by default. When.js 3.2 detects asynchronous failures and makes them loud by default.
We're planning followup posts to dig a bit deeper into each of these 3 aspects. Specifically, we'll talk about the combination of architectural and code-level optimizations that make when.js fast and scalable, and the trade-offs and decisions we've made when dealing with debuggability.
When.js has consistently been one of the most widely used JavaScript promise implementations (80k+ npm downloads in the last month!), and we think that trend will continue!
Latest tutorials
Get cujoJS
Download the latest versions of each library.
Reference docs
Complete reference documentation for each cujoJS library.
Sample apps
Sample applications apply cujoJS concepts within a specific domain.
Need assistance?
Join cujoJS's mailing list where you can find solutions, get the latest news, or share successes. If you prefer live discussion, join the #cujojs room on freenode.
Professional support packages are available from SitePen.