Oni StratifiedJS (previously known as "Oni Apollo") is the reference StratifiedJS Language implementation + a supporting set of modules. It runs server-side (based on NodeJS) as well as client-side (cross-browser).
StratifiedJS modernizes the JavaScript language for use in non-trivial web applications:
No more asynchronous spaghetti.
Underpinned by ideas from the Orc process calculus, SJS
offers all the advantages of asynchronous programming with conventional sequential syntax. Perform asynchronous requests without callbacks. Pause program execution without setTimeout. Orchestrate complex asynchronous logic with intuitive high-level operators. See the Language Reference for more details.
Structure.
A modern CommonJS-style require() system operating without callbacks or boilerplate makes it easy to structure large codebases.
Building blocks included.
The Standard Module Libray with its 30+ modules gives you a good foundation for your web application.
Fluent and functional in spirit.
SJS
's doubledot operator makes it possible to write beautiful fluent APIs (such as e.g. the sequence module) without invasive monkey-patching or adding clunky object-oriented wrappers.
Advanced syntax features.
SJS includes some of the best features proposed for upcoming JavaScript standards, making for an all-around more pleasurable, powerful and safe coding experience:
- blocklambdas: Ruby Blocks for JavaScript. (Why? Read this article)
- destructuring: Conveniently extract variables from structured data.
- arrow function syntax: Succinct function definitions as popularized by CoffeeScript.
- string interpolation: As available in almost all other modern programming languages.
- quasi-quotes: A powerful way to build context-aware templating and other DSLs in JavaScript.