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]- ^ ArangoDB Database (26 November 2012). "ArangoDB - Using JavaScript in the database".
- ^ "Microsoft ChakraCore Roadmap". GitHub.
- ^ "ChakraCore Now Open". 13 January 2016.
- ^ [1], Release Notes for MongoDB 2.4
- ^ [2], Release Notes for MongoDB 3.2
- ^ [3], JXcore
- ^ "PLV8 - trusted Javascript language extension for PostgreSQL". PostgreSQL.
- ^ "What is SAP HANA - In Memory Computing and Real Time Analytics". SAP.
External links
[edit]- The Server-Side JavaScript Google Group dedicated to creating cross-platform SSJS standard APIs.
- Mozilla JavaScript shells especially section "Standalone JavaScript shells"