Server-side JavaScript implementations

This is a list of server-side JavaScript implementations.

Server-side JavaScript use

Examples of current uses of JavaScript on the server side
Project-product name JavaScript engine Server platform(s) Comments
MongoDB SpiderMonkey 10gen application server Used V8 from version 2.4[1] until version 3.2 which returned to SpiderMonkey [2]
ArangoDB V8 "ArangoDB - Using JavaScript in the database" (SlideShare)
Alfresco Rhino Any Java servlet container and standalone. Has JavaScript API that allows webscripts to create, access, delete, and manipulate data in the main Alfresco repository
Apache Sling Rhino Any Java servlet container and standalone 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
APE SpiderMonkey Standalone HTTP Used to write custom server modules (manage message queue, users, channels, sockets, HTTP, ...).
AppJet Rhino (modified) Also provides hosting in a virtual machine
Aptana Jaxer SpiderMonkey Apache HTTP Server A community open source Ajax-server based on the Mozilla browser (DOM + JavaScript engine). 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. Not developed anymore by Aptana.
ASP JScript IIS
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.
Eclipse e4 Rhino Equinox OSGi, bundled with Jetty, any servlet container (using the servlet bridge) Extensions can be written in JavaScript, not just Java, especially servlets using the OSGi HTTP Service. Frontends can be developed with Eclipse RAP using the SWT and JFace APIs, or any other UI framework. Focus is on modularity (plug-ins), extensibility, scalability.
EditMe Rhino Hosted (Tomcat) Wiki with embedded JavaScript engine and API for application development within the wiki
GLUEscript SpiderMonkey Apache HTTP Server, FastCGI and stand-alone Glueing Libraries Using Ecmascript (GLUE) ports sqlite, mysql, memcached, wxWidgets, POCO, ... to JavaScript. GLUEscript is the successor of wxJavaScript.[3]
Google Apps Script Rhino (com.google.apps.maestro.rhino) Google AppEngine Implement Enterprise Workflows with Apps Script. Google Apps Script can be embedded in Google Sites giving your Google Site a backend. In addition, you can automate simple tasks across Google Products. Google Apps Script also allows interaction with non Google APIs and JDBC calls to databases.
GromJS SpiderMonkey Bauk GromJS is a Server Side JavaScript (SSJS) interpreter which provides the ability to use an enhanced version of the JavaScript language on a web server with similar functionality to PHP, CGI, ASP, mod_perl or any other server side scripting solution.[4]
Helma Rhino Jetty HTTP Server Complete package with web server and framework.
IBM Domino IBM Domino IBM Domino (web server) as part of the xPages framework since version 8.5 (2009)
io.js V8 Standalone Originally based on Node.js, as of Sept. 2015 io.js has merged with the Node.js project again, no further releases. [5]
JSSP Rhino Any Java servlet container Contains a modified Rhino version for embedded SQL support
jaggery.js Rhino WSO2 Application Server Jaggery is a framework to write webapps and HTTP-focused web services for all aspects of the application: front-end, communication, Server-side logic and persistence in pure Javascript.
MynaJS Rhino Any Java servlet container
Narwhal Rhino, SpiderMonkey, V8[6] Standalone
Node.js V8, SpiderMonkey[7] Standalone JavaScript asynchronous, event-based I/O. Influenced by systems like Ruby's Event Machine, Perl's POE or Python's Twisted. Plenty of modules available.
Opera Futhark Opera Unite JavaScript is the server-side language used to develop services for the Opera Unite feature of the Opera browser. This is a server built into the browser. The JavaScript API includes local file access to a virtual sandboxed file-system and persistent storage via persistent global variables.
Prudence Rhino or Nashorn JVM Prudence bills itself as "a comprehensive platform for REST services, such as web pages and RESTful APIs" and scales with automatic clustering. In addition to JavaScript, it supports Python, Ruby, PHP, Lua, Groovy, and Clojure. It differs from node.js in that it is multi-threaded, built for the JVM, and makes use of integrated caching.[8]
SilkJS V8 Standalone JavaScript Synchronous, CommonJS, JST (JSP-like template)/Markdown templating, easily extended with C++/Javascript Linux/OSX compatible. Pre-fork Http Server, Modules: MySQL, ORM, memcached, redis, SQLite3, Oracle, ncurses, GD2, cURL, SSH, FTP/SFTP, GitHub, builtin - LESS compiler and CoffeeScript compiler.

"SilkJS enables JavaScript as a scripting language in the server environment. You can think of SilkJS as a command shell, along the lines of Perl or PHP, except the language you write in is JavaScript."[9]

Synchronet SpiderMonkey Standalone Bulletin Board System (BBS) software with integrated TCP/IP servers (written in C/C++ and enhanced via SSJS): Telnet, RLogin, SSH, HTTP[S], SMTP, POP3, as well as services written entirely in JavaScript: IMAP, NNTP, IRC, Finger, Gopher, etc. Includes some great classically-inspired "BBS doors" written entirely in JavaScript. Open Source and supported on Windows, Linux, and FreeBSD for little-endian architectures (e.g. X86 and ARM).
TeaJS V8 Apache HTTP Server, FastCGI Formerly known as v8cgi.
WakandaDB WebKit JavaScriptCore Standalone JavaScript Synchronous multi-threaded web server and no-sql database, supporting the CommonJS module specification, written in C++.
Whitebeam SpiderMonkey Apache HTTP Server or standalone JavaScript and XML application development environment with bindings to PostgreSQL, Curl, libGD, Email and others. Most often used as an Apache module. Can also run a Whitebeam Shell for batch/background processes.
SAP HANA XS Engine V8 (SpiderMonkey before SPS11) SAP HANA XS Engine SAP in-memory database server side engine, which allows direct access SAP HANA database from Javascript applications. XS Engine has web-server functionality and can generate webpages directly, eliminating the application tier.
JXcore V8, SpiderMonkey Standalone A Node.js fork targeting mobile devices and IoTs
ChakraCore Chakra Standalone or as JS engine in Node.js[10] JavaScript engine originally developed by Microsoft for use in its Edge browser. Released source under MIT License in January 2016.[11]

Other common server-side programming languages are JavaServer Pages (JSP), Active Server Pages (ASP), Perl, PHP, Python, Ruby, ColdFusion, and others.

See also

References

  1. , Release Notes for MongoDB 2.4
  2. , Release Notes for MongoDB 3.2
  3. GLUEscript, By Franky Braem
  4. GromJS, By Mark Constable
  5. Joyent, io.js, Node.js Foundation and Version 4. Retrieved 2015-12-25.
  6. , JXcore
  7. "How is Prudence different from Node.js?".
  8. SilkJS, By Michael Schwartz
  9. "Microsoft ChakraCore Roadmap".
  10. "ChakraCore Now Open".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.