Most of us ought to know the acronym LAMP, used to describe web services stacks made with Linux, the Apache web server, the MySQL database server, and either PHP, Perl, or Python.
But another web-stack acronym has come to prominence in the last few years: MEAN—a stack that uses the MongoDB NoSQL database, Express, Angular, and Node.js.
MEAN is one manifestation of the rise of JavaScript as a server-side language, since the most consistent element with all these components is JavaScript. Node.js provides a JavaScript runtime; Angular and Express are written in JavaScript; and MongoDB’s data structures are expressed as JSON (JavaScript Object Notation) entities.
A big part of MEAN’s appeal is this consistency. If you use the same language, and many of the same language concepts, at all levels of the stack, it becomes easier for a developer to master the whole stack at once.
In this article we’ll walk through the components of the MEAN stack, and show how to set up a basic application using those pieces.