MEAN Stack basically refers to a collection of JavaScript technologies which is used to develop fast and robust web applications. Alternatively, MEAN is a full-stack development toolkit where, therefore, from the client to the server to the database everything is based on JavaScript. It is a user-friendly stack which is the ideal solution for building dynamic websites and applications.
MEAN is composed of four technologies :
MongoDB is an open-source, cross-platform, schema-less, document-oriented NoSQL database system. It stores data in key-value pairs, using binary data types like JSON. It is an ideal choice for a database system where we need to manage large sized tables with millions of data. Also, including a field to MongoDB is much easier as it does not require updating the entire table. With MongoDB, we can develop an entire application with just one application, i.e. JavaScript.
Express is a minimalistic framework that is used to write mature, flexible, lightweight server code with few lines of code. It makes a node framework broader providing support for different templating engines like EJS, handlebars and many more using the Pug engine. All native features of the node are optimized and are much easier to obtain with the help of this framework.
Angular JS is an open-source JavaScript framework maintained by Google. The goal of this framework is to introduce MVC(Model View Controller) architecture in the browser-based application that makes the development and testing process easier. The framework helps you create a smarter web app that supports personalization.
AngularJS allows us to use HTML as a template language. Therefore, we can extend HTML's syntax to express the components of our application. Angular features like dependency injection and data binding eliminate plenty of code that you need to write.
Node JS is a server-side javascript execution environment that allows developers to create a web server from scratch and build web applications on top of it. The main advantage of using Node JS is that it uses a non-blocking and event-driven I/O model which makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
It also allows developers to create data-intensive real-time apps that run across distributed devices. We can run Node.js runtime on Microsoft Windows, OS X, and Linux.
Each component involved in MEAN Stack has some dedicated purpose in the application.
Angular JS: Since it is a front-end JS framework, it's main purpose is to accept requests and display results to end-user.
NodeJS: Since it is a JS back-end framework, it is used to handle all client's requests and process them.
Express JS: It is used to make requests to the database(basically MongoDB) and return back response.
MongoDB: Its main purpose is to store data in JSON-like format and retrieve them.