Everything about the MEAN Stack Architecture

MEAN is an acronym for MongoDB, ExpressJS, AngularJS and Node.js. Being free and open source JavaScript software, the stack is used to build dynamic websites and web applications. In a layman’s language, MEAN stack is a full collection of javascript based technologies that are used to develop robust and scalable web applications.

MEAN Stack Architecture

Its features include:

  • One of the most important benefits of using MEAN is that it allows the developer to write the entire code in JavaScript; be it for client or server. As a result, most of the professionals find this to be a blessing especially those who have invested their time and money in learning JavaScript for the client-side tasks.
  • It supports the MVC (Model View Controller) architecture.
  • MEAN in general comprises of open source, which means the stack gets updated on the regular basis. Moreover, it is quite easy and flexible to understand and use which helps the developers to customize as per your needs.
  • There are numerous other huge advantages such as the huge module library of node.js and the use of JSON is to transfer the data.
  • It may also interest you to know that not a just startup, big players also move to Node.js: Walmart, PayPal, Yahoo, Netflix, Uber, and LinkedIn.

Architecture of MEAN Stack

Like I said before, MEAN is a free and open source Javascript software stack used to build dynamic looking websites as well as web applications. Whether it is back-end or front-end technology, it can be used for both but written in one language for both server-side and client-side execution.

How does it work?

  • Once the client makes any request, first it is processed by the AngularJS. For those who have no idea, AngularJS is a client-side language in JavaScript.
  • After that comes the phase 2 which is NodeJS. It is a server-side language used in Javascript.
  • As soon as the request enters the phase 3, ExpressJs makes the request to the database.
  • Soon after MongoDB returns the response to the ExpressJs by retrieving the data.
  • It’s time for the ExpressJs to return the response to the NodeJS and then NodeJS to return it to the AngularJS in order to display the result.

It may quite interest you to know that MongoDB offers more flexible, accommodating layer for storing data whereas Node.js provides a better nexus for running your server while Express.JS helps standardize how one builds the website. On the client, it is believed that AngularJs offers a clean way of adding interactive functions and Ajax-driven rich components. In the following post, I would like to shed some light on how all these technologies come forward to make a clean, coherent mechanism for moving data from user to disk farm and back again.

AngularJS (Client Side)

The structural framework allows an AngularJS developer to make use of HTML as their template language and even allows to extend HTML’s syntax to express your application’s components very clearly and succinctly. AngularJS data binding and dependency injection eliminate much of code you currently need to write. And this all can be done within your browser, making it an ideal partner with any server technology.

Being a powerful Javascript based development framework, AngularJS creates RICH internet Application (RIA).

The framework provides developers several options to write a client-side application (using Javascript) in a clean MVC.

Being an open source, completely free, AngularJS used by thousands of developers around the globe. Moreover, It is licensed under the Apache License version 2.0.

NodeJS (Server Side) 

Being a server-side platform, it is built on Chrome’s JavaScript runtime for easily building fast and scalable network applications. With the help of event-driven, non-blocking I/O model, developers find Node.JS to be lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

It features include:

All API’s of Node.js library are asynchronous, which means Node.js based server never waits for an API to return data. The sever moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call.

With event looping, the single threaded model helps server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests.

Node.js operates on a single thread, using non-blocking I/O calls, allowing it to support tens of thousands of concurrent connections without incurring the cost of thread context switching.

ExpressJs

It provides a minimal interface for us when it comes to building applications. Being minimal, it offers us the absolutely required set of tools to build an app. There, you will come across numerous module available on npm for express, which can be directly plugged into express.

Differing from its competitors like Rails and Django, especially the ones which have an opinionated way of building applications, express has no “best way” do something. It is very flexible and pluggable.

MongoDB

Another free and open source, cross-platform document-oriented database program called MongoDB makes use of JSON-like documents with schemas. It is the database for today’s applications, enabling you to:

  • Leverage data and technology in order to maximize competitive advantages
  • Reduce risk for mission-critical deployments
  • Accelerate time-to-value
  • Dramatically lower total cost of ownership

So that’s all for now! Keep watching the space to know more regarding the same.

Leave a Reply

Your email address will not be published. Required fields are marked *