What is the MEAN stack?
- ExpressJS: Express is a minimal and flexible Node.js web application framework that provides some of the fundamental resources and tools required to build web applications. Using Express, you can easily build web servers that are maintainable, flexible and readable. Express stands out as the most popular and downloaded Node framework. (For more details on ExpressJS, kindly visit this previous post based specifically on Express.)
- MongoDB: MongoDB is a free and open source NoSQL database providing great flexibility and scalability. MongoDB primarily saves data in binary JSON format, which makes it very easy to pass between client and server.
Why the MEAN stack?
Performance: Node sitting at the heart of the MEAN stack results in outstanding performance levels. Node outperforms most if not all the current backend technologies, including the likes of PHP and Ruby.
Fast development and scalability: The MEAN stack provides a rich environment and solid foundation for fast development, as well as building scalable products. The NPM provides thousands of libraries and reusable modules which contribute to fast development.
Traditional web-server techniques may max out the available RAM for handling requests since each request generates a new thread. With the MEAN stack, however, using Node, the application can process thousands of requests on a single thread.
A few things to consider
Node (and particularly Express) is very flexible and open, allowing developers to decide what modules to use and how to organize the project. While this is a good thing, there is a trade-off. Having too much flexibility means you need to make more choices, which may impact the development process.