FROMDEV

Understanding: MEAN Programming Stack

Understanding: MEAN programming stack

In this article, I’ll be sharing the technical expertise and help you understand all that freaky on the first sight staff. There will be information about stacks, frameworks, programming languages etc., – everything that can help one understand aspects of developing tools that are commonly used in web development agencies.

What is MEAN stack development?

So, today we are going to talk about MEAN, not the adjective, but the abbreviation for the Javascript web development stack that consists of:

MongoDB – database.

Express.js – application server, used for the backend.

Angular.js – web application framework, used for the frontend.

Node.js – web server.

The MEAN stack today is a modern and more flexible analog of LAMP (Linux, Apache, MySQL, PHP) web development stack. While LAMP requires special OS, MEAN can be developed on every OS – Windows, Mac, Linux.

Technical features of MEAN technology stack

MongoDB 

MongoDB is a document-oriented database specially created to store hierarchical data structures (documents) and is implemented using a NoSQL approach. This NoSQL approach represents a fundamental shift in the persistence strategy.
The programmer spends less time writing SQL statements and more writing the map/reduce functions in JavaScript. 
This eliminates the huge layers of transformation logic since MongoDB initially produces the JavaScript Object Notation (JSON) format. As a result, writing of REST web services is extremely easy.

Express.js 

Express.js is free and open-source web application framework that runs on top of Node.js. It is used for backend development. The huge step from LAMP is a transition from a traditional generation of pages on the server side to targeting single-page applications (SPA) on the client side. 
Express allows you to manage and route/generate pages on the server side, but other components of MEAN stack such as Angular.js turn it more into client side.

Angular.js

Angular.js is frontend MVC (Model-View-Controller) framework in Javascript with an open-source software.The transition to SPA does not simply translate the MVC artifacts from the server to the client device. 
This is also a jump from the mentality of synchronism to the mentality of asynchronism, which is essentially event-driven. And perhaps, most importantly is the movement from page-oriented applications to component-oriented applications.

Node.js 

JavaScript development platform for server-side. It transforms JavaScript from a highly specialized language to general-purpose language. Node.js replaces Apache from the LAMP stack. But Node.js is much more than just a web server. 
In fact, the finished application is not deployed on a separate web server; instead, the web server itself is included in the application and automatically installed as part of the MEAN stack. As a result, the deployment process is greatly simplified, since the required version of the web server is explicitly defined along with the remaining dependencies of the execution time.

Why we prefer using the MEAN stack over LAMP?

During the last 10 years of our existence, we have always been trying to improve our development process. We rejected ineffective, slow or narrow-oriented tools and worked hard to deliver only high-quality results. We tried using LAMP and actually we still use it in some projects, but the transition to MEAN stack development is where we are heading to. Why? Here is the answer:

  • One programming language (JavaScript) – less confusion with syntax.
  • On AngularJS it is convenient to make rich client applications that do not require reloading of pages (MVC, event model, routing, the possibility of creating components + this killer-feature: two-way data binding).
  • On Node.js in conjunction with Express framework, it is good to do RESTful API backend. When the server sends only the data to JSON, and the client itself is engaged in the submission. This reduces the connectivity of the client and server + simplifies the creation of a mobile application in the future (it will come in handy with the same API). Of course, the RESTful API can be done in PHP, but the PHP process will be created and terminated with each request, spending resources on initialization, while the process on Node.js hangs in memory all the time.
  • Asynchrony. Even the fact that any mean stack example can be implemented two times faster because of asynchrony, make us believe, that is one of the best options. 
  • Node.js does not block the current process when accessing external resources (for example, the database). This allows, among other things, to execute several requests in parallel. 
  • Node.js has a cool NPM package manager and a cool package community. Under any task, be it PDF generation or Email sending, it’s easy to find a package with a concise interface and add it to your application.

So with these technologies, the MEAN stack developers can build applications with higher quality in less time so that they can deliver a quick result to the customer while fewer resources are used.

The author of this article – Liza Kerimova, internet marketer at Artjoker, software development company, that specializes in web development. Our goal is to turn clients’ ideas only to excellent results!

Exit mobile version