Server-side JavaScript
Appearance
![]() |
Server-side JavaScript (SSJS) refers to JavaScript that runs on server-side. This term was coined because the language is predominantly used on the client-side, i.e. client-side JavaScript (CSJS).
The first implementation of SSJS was Netscape's LiveWire, included in their Enterprise Server 2.0 product, released in 1996.
Project/product name | JavaScript Engine | Server Platform(s) | Comments | Website |
---|---|---|---|---|
10gen | 10gen | 10gen application server | Uses the Rhino parser. Compiles Javascript to Java. | [1] |
Acre | Rhino | Jetty HTTP Server | Integrated with Freebase to power Freebaseapps.com, a collaborative hosting environment. | |
Apache Sling | Rhino | Any Java servlet container and standalone. | Sling is a generic Java web application framework that allows to use any script language via the standard Java Script Engine interface. Sling is RESTful by design and sits on top of a Java Content Repository, giving scripts full access to the JCR. | |
AppJet | Rhino(modified) | Also provides hosting in a virtual machine | ||
Aptana Jaxer | SpiderMonkey | Apache HTTP Server | An actively developed open source ajax-server. HTML, JavaScript, and CSS are native to Jaxer, as are XMLHttpRequests, JSON, DOM scripting, etc. It offers access to databases, files, and networking, as well as logging, process management, scalability, security, integration APIs, and extensibility. | [2] |
ASP | JScript | IIS | ||
Axiom Stack | Rhino | Jetty HTTP Server | Actively developed open source SSJS server. JSON, E4X, List Comprehensions. Complete access to Java APIs. Built-in security. Lucene data store by default with JDBC access to relational databases. | |
Cocoon Flowscript | Rhino | Apache Cocoon | [3] | |
CouchDB | SpiderMonkey | Standalone HTTP | Used in MapReduce and update validation functions as well as to transform JSON documents and view results into HTML or other content-types. | |
DovetailDb | Rhino | Jetty HTTP Server | DovetailDB is a schemaless, JSON-based database with an Apache license. You can use the hosted database or install your own. You can override the handlers to supplement with access control, use map/reduce, install JavaScript stored procedures to call from the client, and more. | [4] |
ESXX | Rhino | FastCGI and Stand-alone | Focus is on ease of use, web security and XML/XSLT (via Saxon). Has SQL, LDAP, HTTP/REST, SOAP and Java support. Can also execute JS scripts from the command line. | [5] |
Ejscript | Ejscript | Appweb HTTP Server, Apache HTTP Server | Enhanced ECMA-262 Language and (Ruby on Rails like) web framework including Model/View/Controller paradigm, SQLite database connectivity, Ajax libraries and a suite of view controls. Includes command line generators and tools. | [6] |
EditMe | Rhino | Hosted (Tomcat) | Wiki with embedded JavaScript engine and API for application development within the wiki | [7] |
GLUEscript | SpiderMonkey | Apache HTTP Server, FastCGI and Stand-alone | Glueing Libraries Using Ecmascript (GLUE) ports sqlite, mysql, memcached, wxWidgets, ... to JavaScript. GLUEscript is the successor of wxJavaScript | [8] |
Helma Object Publisher | Rhino | Jetty HTTP Server | Complete package with web server and framework. | [9] |
Jack | Multiple | Multiple | A JavaScript engine and server-agnostic interface, much like Rack for Ruby and WSGI for Python. | [10] |
jsext | SpiderMonkey | Apache HTTP Server, lighttpd and Stand-alone | Has modules for fastCGI, CGI, MySQL, SQLite, FTP, SMTP, HTTP, AJAX, JSON, SOAP, WSDL and more. Automatic inclusion of C libraries. | [11] |
jslibs | SpiderMonkey | FastCGI and Stand-alone (TCP) | Native libraries bindings: NSPR, SQLite, FastCGI, libTomCrypt, librsvg, libpng, libjpeg, FreeType, libffi, ... | [12] |
JSSP | Rhino | Any Java servlet container. | Contains a modified Rhino version for embedded SQL support | [13] |
im-jssp | Rhino | Resin and any other Java servlet container. | "im-jssp" is a template engine that used Server Side JavaScript and HTML. And "im-jssp" has custom tag "jsspRpc" that is Server Side JavaScript can be called from Client Side JavaScript seamlessly. |
[14] (Japanese) |
JuiceScript | SpiderMonkey | Apache HTTP Server and Stand-alone | ||
Junction | Rhino | Apache HTTP Server | Ruby on Rails port to javascript | [15] |
Livelink WCM Presentation Server | SpiderMonkey | Apache HTTP Server, IIS and Sun Java System Web Server | A commercial content management system used in a number of European public-sector and financial organizations. It uses SSJS for dynamic features and to customize the behavior of built-in objects. Though still developed and supported for existing users, this SSJS product is no longer available for sale to new customers. [1] | |
mod_js | SpiderMonkey | Apache HTTP Server | mod_js is a stand-alone module for Apache that is able to execute JavaScript on the server. | [16] |
Myna Javascript Application Server | Rhino | Any Java servlet container, packaged with winstone | Myna is a general purpose, 100% open source, web platform modeled after Cold Fusion with centralized datasources, Web-based Administration, runtime Object Relational Mapping, templating, LDAP access, strong cryptography, SOAP and XML-RPC publishing and more. | [17] |
NOTEX | SpiderMonkey | CGI/FastCGI script on any web server | NOTEX is a CGI script to run JavaScript files hosted anywhere on the network to process XML data with E4X | [18] |
OpenMocha | Helma | Stand-alone | [19] | |
Persevere | Rhino | Jetty HTTP Server | JSON database integrated with JavaScript environment with a HTTP/REST, JSON-RPC, and Comet interfaces. | [20] |
Phobos | Rhino | Glassfish and any other Java servlet container. | ||
POW | SpiderMonkey | Mozilla Firefox | A Mozilla Firefox Extension which adds a server to your browser. Templates can use SSJS. | [21] |
Rhino in Spring | Rhino | Spring | [22] | |
Rhinola | Rhino | Apache HTTP Server | Uses gcj | [23] |
Server Side Execution (SSX) | Rhino | Devwex | JSP/ASP-like scripting; supports threads, object (de)serialization, access to local and remote filesystems, database connection via jdbc | [24] |
Server Side Javascript | Rhino | Jetty 6 | For writing servlets. | [25] |
Torino | Rhino | Tomcat and any other Java servlet container. | Server-side JavaScript environment for developing web applications. Provides a rich server-side programming environment using Java APIs. Released under the GPL3 license. | [26] |
Whitebeam | SpiderMonkey | Apache HTTP Server | Server-side JavaScript environment for developing web applications. Includes integration with graphics libraries and the PostgreSQL database. Actively developed and in use supporting commercial sites. Released under the BSD license. Latest release supports E4X. | [27] |
wxJavaScript | SpiderMonkey | Apache HTTP Server and Stand-alone | With E4X and wxWidgets ported classes. GLUEscript is the successor of wxJavaScript | [28] |
v8cgi | V8 (JavaScript engine) | Apache, cgi, fcgi and Stand-alone | [29] |
Other common server-side programming languages are JSP, ASP, Perl, PHP, Python, Ruby and ColdFusion amongst others.
Specifications
See also
- JavaScript
- The Server-Side JavaScript Google Group dedicated to creating cross-platform SSJS standard APIs.
Notes and references
- ^ "A letter to Livelink WCM customers". Retrieved 2009-01-24.