List of server-side JavaScript implementations explained

This is a list of server-side JavaScript implementations.

Server-side JavaScript use

Project-product nameJavaScript engineServer platform(s)Comments
AlfrescoRhinoAny 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 SlingRhinoAny Java servlet container and standaloneGeneric 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
AppJetRhino (modified)Also provides hosting in a virtual machine
Aptana JaxerSpiderMonkeyApache HTTP ServerA 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.
ArangoDBV8[1]
ASPJScriptIISASP has been superseded by ASP.NET since January 2002.
ASP.NETJScript.NETIISSupport 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.
BunJavaScriptCoreStandaloneBundle, transpile, install and run JavaScript & TypeScript projects. Runtime with a native bundler, transpiler, task runner and npm client built-in.
ChakraCoreChakraStandalone 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]
CouchDBSpiderMonkeyStandalone HTTPUsed in MapReduce and update validation functions as well as to transform JSON documents and view results into HTML or other content-types.
DenoV8StandaloneDeveloped 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 e4RhinoEquinox 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 ScriptRhino (com.google.apps.maestro.rhino) and V8Google AppEngineImplement 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 DominoIBM DominoIBM Domino (web server)as part of the xPages framework since version 8.5 (2009)
JSSPRhinoAny Java servlet containerContains a modified Rhino version for embedded SQL support
MongoDBSpiderMonkey10gen application serverUsed V8 from version 2.4[4] until version 3.2 which returned to SpiderMonkey[5]
V8 (SpiderMonkey was supported with JXcore[6] fork)StandaloneJavaScript asynchronous, event-based I/O. Influenced by systems like Ruby's Event Machine, Perl's POE or Python's Twisted. Plenty of modules available.
OperaFutharkOpera UniteJavaScript 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.
PostgreSQLEmbedded language PLV8[7] PLV8 is a trusted JavaScript language extension for PostgreSQL. It can be used for stored procedures, triggers, etc.
SAP HANA XS EngineV8 (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.
SynchronetSpiderMonkeyStandaloneBulletin 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.
WakandaDBJavaScriptCoreStandaloneJavaScript 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.

External links

Notes and References

  1. Web site: ArangoDB - Using JavaScript in the database. ArangoDB Database. 26 November 2012.
  2. Web site: Microsoft ChakraCore Roadmap. .
  3. Web site: ChakraCore Now Open. 13 January 2016 .
  4. https://docs.mongodb.com/manual/release-notes/2.4/#v8-javascript-engine
  5. https://docs.mongodb.com/manual/release-notes/3.2-compatibility/#spidermonkey-compatibility-changes
  6. https://github.com/jxcore/jxcore/
  7. Web site: PLV8 - trusted Javascript language extension for PostgreSQL. PostgreSQL.
  8. Web site: What is SAP HANA - In Memory Computing and Real Time Analytics. SAP.