This article needs additional citations for verification .(December 2011) |
This is a list of server-side JavaScript implementations.
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.
PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.
Structured Query Language (SQL) is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling structured data, i.e., data incorporating relations among entities and variables.
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.
Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.
The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.
CherryPy is an object-oriented web application framework using the Python programming language. It is designed for rapid development of web applications by wrapping the HTTP protocol but stays at a low level and does not offer much more than what is defined in RFC 7231.
Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.
A LAMP is one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components.
A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.
Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.
MongoDB is a source-available, cross-platform, document-oriented database program. Classified as a NoSQL database product, MongoDB utilizes JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and current versions are licensed under the Server Side Public License (SSPL). MongoDB is a member of the MACH Alliance.
Opa is an open-source programming language for developing scalable web applications.
A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model.
MEAN is a source-available JavaScript software stack for building dynamic web sites and web applications. A variation known as MERN replaces Angular with React.js front-end, and another named MEVN use Vue.js as front-end.
Snap is a web development framework written in the Haskell programming language.
RocksDB is a high performance embedded database for key-value data. It is a fork of Google's LevelDB optimized to exploit multi-core processors (CPUs), and make efficient use of fast storage, such as solid-state drives (SSD), for input/output (I/O) bound workloads. It is based on a log-structured merge-tree data structure. It is written in C++ and provides official language bindings for C++, C, and Java. Many third-party language bindings exist. RocksDB is free and open-source software, released originally under a BSD 3-clause license. However, in July 2017 the project was migrated to a dual license of both Apache 2.0 and GPLv2 license. This change helped its adoption in Apache Software Foundation's projects after blacklist of the previous BSD+Patents license clause.
DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. This is a desktop application written in Java and based on Eclipse platform.