Monday, June 1st, 2009
Narwhal: Standard Library that implements ServerJS
<>p>Narwhal “a flexible JavaScript standard library” is now live thanks to:- Tom Robinson’s Jack: the web server and web application/framework agnostic interface, similar to Ruby’s Rack and Python’s WSGI. Narwhal was conceived while building Jack, and was later extracted into it’s own project.
- Kris Kowal’s Chiron: a system of interoperable JavaScript modules, including a type system, base types, general-purpose functions, events, encoding, decoding, hashing, and caching.
- George Moschovitis’s Nitro: a web application framework built on top of Jack.
- Kevin Dangoor’s getjs: a JavaScript package manager for ServerJS implementations
Put this all together and you get Narwhal, which conforms to the ServerJS standard. It is designed to work with multiple JavaScript interpreters, and to be easy to add support for new interpreters. Wherever possible, it is implemented in pure JavaScript to maximize reuse of code between platforms.
Related Content:











I think the above description may be a little misleading, though it’s confusing at best.
The projects mentioned above are Narwhal *packages*, which use Narwhal for its standard library and module functionality. If I’m not mistaken, Narwhal itself is also a package. So all of these projects depend on Narwhal, they don’t make it up.
Either way, all of them are awesome, great job everyone!
The “ServerJS standard”? Isn’t it a bit too early to call it a standard? It seems like it’s status is the same as HTML5… holding great promise, but still a draft. From what I have seen, it still is only at a starting point: https://wiki.mozilla.org/ServerJS
The first production ready server side JavaScript Apache-module/FastCGI will probably set the standard, until then just hope they make it good enough.
Smith: Correct, sort of. Narwhal is the actual implementation of the ServerJS standard.
Jack, Chiron, Nitro, getjs are just a few of hopefully many ServerJS / Narwhal compatible packages.
It’s still a work in progress (particularly since the ServerJS standard is still a work in progress) but it’s at a point where you can start playing around with it (and contributing!)
Hum, does anyone know how well (or bad) it behaves compare to ejscript?