SilkJS implements a thin layer of "glue" to access the various operating system functions and functions of other useful libraries.
SilkJS HTTPD is a full featured CoffeeScript server. For more details, see:
SilkJS supports the V8 debugger. You can use node-inspector to debug your programs.
For more details, see: https://github.com/mschwartz/SilkJS/wiki/Debugging
Perhaps the greatest feature of SilkJS is that you write synchronous code; there are no callback function implementations required on your part. The theory of operation is exactly the opposite of NodeJS - that synchronous programming is more natural, and the code actually runs faster if you let the OS do its thing. There is no "nested callback hell" with SilkJS. Not only is your code more readable (top-to-bottom, left-to-right), various sample programs we've converted from NodeJS to SilkJS are quite a few lines shorter. On top of this, your synchronous code makes sense in both server and command line applications (why do you need to do async I/O in a command-line program?).
- CommonJS require 1.1 implementation
- XMLHttpRequest implementation for accessing WWW services
- Basic implementation of console as you typically would call in browser code.
- Rich set of POSIX File System methods.
- Rich set of Process methods.
- Implementation of glue for libgd2 for graphics manipulation.
- Implementation of HTTP "helper" methods (see below).
- Implementation of MySQL functions.
- Implementation of SQLite3 functions.
- Implementation of NCURSES functions.
- Implementation of NETWORK functions (sockets, etc.).
- Implementation of SSH2 functions (exec remote commands, etc.).
- Implementation of functions to manipulate the V8 engine itself.
- Execute CoffeeScript programs server-side to generate HTML
- Showdown/Markdown templates
- and more!
SilkJS is intended to be free for use by anyone and for any legal purpose.
To that end, please see this link:
Pick whichever license you choose, as long as it is OSI approved.
The SilkJS HTTP server is fast... REALLY fast. It's also robust enough to handle 20,000 concurrent requests (as tested with ab).
On a I7-2630QM CPU @ 2.00GHz, SilkJS HTTP outperforms lighthttpd and nodejs (v0.6.5):
REQUESTS PER SECOND silkjs = 26759 rps lighttpd = 17183 rps (v1.4.29) nodejs = 2212 (v0.6.5 - single core, simple static server)
(See https://github.com/mschwartz/SilkJS/wiki/Build-Instructions for dependent libraries)
Currently for Mac OSX Lion x64 and Ubuntu only...
git clone https://github.com/mschwartz/SilkJS SilkJS cd SilkJS make
Then point your browser at http://localhost:9090/
Home Site: http://silkjs.org/ (POWERED BY SILKJS, not Apache, not ngnix)
Google Group: http://groups.google.com/group/SilkJS
Check out the Wiki here, too: https://github.com/mschwartz/SilkJS/wiki