MEAN (solution stack)

Short description: JavaScript software stack

Common logo used to represent MEAN stacks.Common logo used to represent MERN stacks.

MEAN (MongoDB, Express.js, AngularJS (or Angular), and Node.js)[1] is a source-available JavaScript software stack for building dynamic web sites and web applications.[2] A variation known as MERN replaces Angular with React.js front-end,[3][4] and another named MEVN use Vue.js as front-end.

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.[5]

The acronym MEAN was coined by Valeri Karpov.[6] 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.[7]

## Contents

* 1 Software components
* 1.1 MongoDB
* 1.2 Express.js
* 1.3 Angular and alternatives
* 1.4 Node.js
* 2 See also
* 3 References
* 4 Further reading
* 5 External links

## Software components

### MongoDB

Main article: Software:MongoDB

MongoDB is a NoSQL database program that uses JSON-like BSON (binary JSON) documents with optional schemas.

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.[8]

### Express.js

Main article: Software:Express.js

Express.js (also referred to as Express) is a modular web application framework package for Node.js.[9]

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 for performance reasons.[10]

### Angular and alternatives

Main articles: Software:Angular (web framework), Software:React (JavaScript library), and Software:Vue.js

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.[11]

### Node.js

Main article: Software: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,[12] 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

1. ↑ "us-en_cloud_learn_mean-stack-explained" (in en-us). IBM Cloud Education. 2019-05-09. https://www.ibm.com/cloud/learn/mean-stack-explained.
2. ↑ Dickey, Jeff (2014-09-24) (in en). Write Modern Web Apps with the MEAN Stack: Mongo, Express, AngularJS, and Node.js. Peachpit Press. ISBN 9780133962376. https://books.google.com/books?id=UEOZBAAAQBAJ&q=MEAN+stack.
3. ↑ "MERN Stack Explained". https://www.mongodb.com/mern-stack.
4. ↑ "How to Use MERN Stack: A Complete Guide". https://www.mongodb.com/languages/mern-stack-tutorial.
5. ↑ "LAMP vs MEAN, Deciding the right stack for your startup" (in en). https://www.linkedin.com/pulse/lamp-vs-mean-deciding-right-stack-your-startup-robert-roose.
6. ↑ "The MEAN Stack: MongoDB, ExpressJS, Angular and Node.js". Apr 30, 2013. http://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-and.
7. ↑ "Mean Stack". https://www.linkedin.com/groups/Mean-Stack-5070069.
8. ↑ "The most popular database for modern apps" (in en-us). https://www.mongodb.com/.
9. ↑ "Express - Node.js web application framework" (in en). https://expressjs.com/.
10. ↑ II, Thomas Hunter (2019-03-28). "Why should I use a Reverse Proxy if Node.js is Production-Ready?" (in en). https://medium.com/intrinsic/why-should-i-use-a-reverse-proxy-if-node-js-is-production-ready-5a079408b2ca.
11. ↑ "Features - Server Side Rendering | Next.js" (in en). https://nexts.org/features/server-side-rendering.
12. ↑ "JavaScript Everywhere and the Three Amigos (WebSphere: Into the wild BLUE yonder!)". 2013-11-14. https://www.ibm.com/developerworks/community/blogs/gcuomo/entry/javascript_everywhere_and_the_three_amigos?lang=en.

## Further reading

* Haviv, Amos Q. (2014). MEAN Web Development: Master real-time web application development using a mean combination of MongoDB, Express, Angular JS, and Node.js. Birmingham, UK: Packt Publishing. ISBN 978-1783983285. https://www.packtpub.com/web-development/mean-web-development.
* Holmes, Simon (2019). Getting MEAN with Mongo, Express, Angular, and Node, Second Edition. Shelter Island, NY: Manning Publishing. ISBN 9781617294754.
* Holmes, Simon (2015). Getting MEAN with Mongo, Express, AngularJs, and Node. Shelter Island, NY: Manning Publishing. ISBN 9781617292033.
* Dickey, Jeff (2014). Write Modern Web Apps with the MEAN Stack: Mongo, Express, AngularJS, and Node.js (Develop and Design). San Francisco, CA: Peachpit Press. ISBN 978-0133930153.

## External links

* meanjs.org is a fork of mean.io. It uses a tool called 'Yeoman' to generate Angular CRUD, routes, controllers, views, and services.
* Trendnologies Bigdata Course
* MEAN Stack User Registration and Login Tutorial
* Spark Databox MEAN Stack Online Course
* Understanding MERN and MEAN Stack
* FAQs About Hiring MERN Stack Developers

* v
* t
* e

Node.js

Platform|

* Node.js
* NPM
* V8
* CommonJS

Frameworks|

* MEAN
* MongoDB
* Express.js
* AngularJS/Angular
* MEEN (substituted with Ember.js)
* Backbone.js
* Meteor

Libraries|

* Lodash
* Underscore.js
* React.js
* Vue.js

Languages|

* JavaScript
* CoffeeScript
* TypeScript

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/MEAN (solution stack). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:MEAN_(solution_stack)&oldid=716059"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template