Over time, the V8 developers changed the API enough that SilkJS no longer compiles against the modern library. They are moving from subversion to git which breaks the Makefiles for SilkJS (relies on svn). The latest gyp tools do not compile older versions of V8. Modern versions of GCC throw errors compiling the old source.
To pend any time keeping up with the code breaking API and build toolchain issues, and the fact that V8 is not reentrant, seems pointless anymore.
The rest of this README is kept here for posterity.
If you are using SilkJS and have pull requests, I will examine them and honor them. If you have a need for me to examine a bug in the existing code and you are able to build it, I am happy to update the sources though I won't be able to compile them to test.
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 the instructions on installing SilkJS at http://silkjs.net
Home Site: http://silkjs.net/ (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