
MEAN (
MongoDB,
Express.js
Express.js, or simply Express, is a back end web application framework for building RESTful APIs with Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs. It has been ...
,
AngularJS
AngularJS is a discontinued free and open-source JavaScript-based web framework for developing single-page applications. It was maintained mainly by Google and a community of individuals and corporations. It aimed to simplify both the development ...
(or
Angular), and
Node.js)
is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
JavaScript software stack for building
dynamic web sites and
web applications. A variation known as MERN replaces Angular with
React.
Because all components of the MEAN stack support programs that are written in JavaScript, MEAN applications can be written in one language for both
server-side and
client-side execution environments.
Though often compared directly to other popular web development stacks such as the
LAMP stack, the components of the MEAN stack are higher-level including a web application presentation layer and not including an operating system layer.
The acronym ''MEAN'' was coined by Valeri Karpov.
He introduced the term in a 2013 blog post and the logo concept, initially created by Austin Anderson for the original MEAN stack
LinkedIn group, is an assembly of the first letter of each component of the MEAN acronym.
Software components
MongoDB
MongoDB is a NoSQL database program that uses JSON-like
BSON (binary JSON) documents with schema.
The role of the database in the MEAN stack is very commonly filled by MongoDB because its use of JSON-like documents for interacting with data as opposed to the row/column model allows it to integrate well with the other (JavaScript-based) components of the stack.
Express.js
Express.js (also referred to as Express) is a modular web application framework package for
Node.js.
While Express is capable of acting as an internet-facing web server, even supporting SSL/TLS out of the box, it is often used in conjunction with a
reverse proxy such as
NGINX or
Apache
The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
for performance reasons.
Angular and alternatives
Typically data is fetched using
Ajax techniques and rendered in the browser on the client-side by a client-side application framework, however as the stack is commonly entirely JavaScript-based, in some implementations of the stack, server-side rendering where the rendering of the initial page can be offloaded to a server is used so that the initial data can be prefetched before it is loaded in the user's browser.
Node.js
Node.js is the application runtime that the MEAN stack runs on.
The use of Node.js, which is said to represent a "JavaScript Everywhere" paradigm,
is integral to the MEAN stack which relies on that concept.
See also
*
LAMP (software bundle)
*
List of all Apache/MySQL/PHP stacks
*
LYME (software bundle) a stack based on Erlang
References
Further reading
*
*
*
*
External links
meanjs.orgis a fork of mean.io. It uses a tool called 'Yeoman' to generate Angular CRUD, routes, controllers, views, and services.
MEAN Stack User Registration and Login TutorialSpark Databox MEAN Stack Online CourseUnderstanding MERN and MEAN Stack
{{NodeJs
Web frameworks
Internet software for Linux