List of server-side JavaScript implementations

This is a list of server-side JavaScript implementations.

Server-side JavaScript use

edit
Project-product name JavaScript engine Server platform(s) Comments
Alfresco Rhino Any Java servlet container and standalone. Has JavaScript API that allows web scripts 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 the use of 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 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.
ArangoDB V8 [1]
ASP JScript IIS ASP has been superseded by ASP.NET since January 2002.
ASP.NET JScript.NET IIS Support for JScript.NET and its successor DLR-based Managed JScript has been dropped in .NET Core (affecting .NET 5 slated to be based on it) so ASP.NET Core also has no support for JavaScript without a third-party implementation or going back to the older .NET Framework (and support for targeting the older non-"Core"-based .NET Framework was dropped in ASP.NET Core 3.0). The Roslyn .NET Compiler Platform which ASP.NET Core employs also has no ECMAScript support.
Bun JavaScriptCore Standalone Bundle, transpile, install and run JavaScript & TypeScript projects. Runtime with a native bundler, transpiler, task runner and npm client built-in.
ChakraCore Chakra Standalone or as JS engine in Node.js[2] JavaScript engine originally developed by Microsoft for use in its Edge browser. Released source under MIT License in January 2016.[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.
Deno V8 Standalone Developed in Rust by same original author as Node.js and directly targets TypeScript but also supports JavaScript and WebAssembly. Employs asynchronous, event-based I/O model via promise-based APIs and Tokio scheduler, uses an API security model based upon FlatBuffers and implements package management via ES2015 modules.
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.
Google Apps Script Rhino (com.google.apps.maestro.rhino) and V8 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.
HCL Domino IBM Domino IBM Domino (web server) as part of the xPages framework since version 8.5 (2009)
JSSP Rhino Any Java servlet container Contains a modified Rhino version for embedded SQL support
MongoDB SpiderMonkey 10gen application server Used V8 from version 2.4[4] until version 3.2 which returned to SpiderMonkey[5]
Node.js V8 (SpiderMonkey was supported with JXcore[6] fork) 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.
PostgreSQL V8 Embedded language PLV8[7] PLV8 is a trusted JavaScript language extension for PostgreSQL. It can be used for stored procedures, triggers, etc.
SAP HANA XS Engine V8 (SpiderMonkey before SPS11) SAP HANA XS Engine[8] 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.
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.
WakandaDB JavaScriptCore Standalone JavaScript synchronous multi-threaded web server and NoSQL database, supporting the CommonJS module specification, written in C++.

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

See also

edit

References

edit
  1. ^ ArangoDB Database (26 November 2012). "ArangoDB - Using JavaScript in the database".
  2. ^ "Microsoft ChakraCore Roadmap". GitHub.
  3. ^ "ChakraCore Now Open". 13 January 2016.
  4. ^ [1], Release Notes for MongoDB 2.4
  5. ^ [2], Release Notes for MongoDB 3.2
  6. ^ [3], JXcore
  7. ^ "PLV8 - trusted Javascript language extension for PostgreSQL". PostgreSQL.
  8. ^ "What is SAP HANA - In Memory Computing and Real Time Analytics". SAP.
edit