Software Development Blog

Introducing the MEAN stack

The Disruption

Technology disruption has already disrupted. Everything has changed with the pace of digital revolution, from our everyday lives to the way how we work and code. The fast moving and diverse environment of web development is no exception.

During the recent years everybody in the web community speaks about the MEAN stack. What are they discussing?

Technology stacks provide complete platforms to run applications, and they have the power enough to process complex instructions. Generally they consist of the following components: operating system, runtime environments, database, web server and web application framework.

What is MEAN stack

MEAN stack is a full-stack JavaScript framework for developing dynamic websites and applications. MEAN stack derives its name from its components: M stands for MongoDB, E – Express.js, A – AngularJS, and N – Node.js.

MEAN stack is completely JavaScript-powered: one and the same programming language (JavaScript) is being used at every level of application, thus, it allows unique server-side and client-side execution environments.

NameWhat is
Features
MongoDBDatabase systemNoSQL database
Document-oriented
JSON-style documents
Full cluster support
Index on any attribute
Uses one language the whole way through
Automatic replication
Easy pass of data between client and server
No complex joints
Deep query ability
Express.jsBack-end web frameworkHTTP server framework
Lightweight and flexible
Robust set of features for building single and multipage web applications in Node.js
Complete list of modules and components
Simple interface
Allows to create REST API server
Easy to integrate with template engines
AngularJSFront-end frameworkDeveloped by Google
Two-way data binding
Good for developing reusable and testable client-side applications
Creation of customized DOM (Document Object Model) elements
Dependency injection
Simple routing
Robust template-building
Great code reuse
Node.jsBack-end runtime environmentBuilt on Google Chrome’s V8 JavaScript runtime
Executing the code on the server side
Single threading
Non-blocking I/O paradigm
Asynchronous and event-driven
High scalability
Quick development cycles

To learn more about the MEAN stack architecture, read Scott Davis’ Introduction.

What do you MEAN?

Due to its performance, simplicity and flexibility, MEAN stack is perfect for building all kinds of applications, from dynamic single-page apps to large-scale complex enterprise solutions.

The most common uses of MEAN stack:

  • Social media apps
  • Multimedia streaming apps
  • Chat and forum apps
  • Business and enterprise apps
  • Big Data apps
  • Apps with multi-user interaction
  • Apps with user connectivity
  • All types of mobile apps

MEAN stack is currently in high demand within both startups and established companies. Some of the giants who’ve successfully leveraged MEAN stack for their products are Netflix, Google, PayPal, Uber, LinkedIn, New York Times, Walmart, and many more.

MEANingful benefits

Let’s look through the main advantages of MEAN stack, which make it rule the market of JavaScript frameworks:

  • Single language development

This benefit is the main one and the most obvious as JavaScript is one of the most popular programming languages in the world. By going MEAN your complete code (client side and server side) is written in JavaScript.

  • Employability

Today it’s definitely not a problem to employ an engineer highly skilled in JavaScript-based technologies.

  • Cost-effectiveness

It is generally more cost effective to use same programming language on both front-end and back-end.

  • Time-saving

When the timelines of your project are limited, you can leverage the infinite set of ready to use module libraries for Node.js on the contrary to writing the modules by yourself.

  • JSON

Both AngularJS and Node.js offer JSON (JavaScript Object Notation), and MongoDB saves documents in JSON format. Same format of data everywhere eliminates the need for reformatting and rewriting. JSON also enables easy work with the APIs.

  • High flexibility

MongoDB offers a flexible JSON document structure for all the data representation, which is invaluable for complex large-scale projects. As well, MongoDB offers automatic replication and full cluster support.

  • Lightning fast speed

MEAN stack is superfast thanks to non-blocking architecture of Node.js.

  • Cloud compatible

If you need to implement cloud functionalities into your app, MongoDB helps to decrease the cost of disk space.

  • Open-source

All technologies, libraries and public repositories are open-source, free and available for use. Also, new versions are coming out all the time and the stack gets updated often. It helps reduce the cost of development and speed up time-to-market.

  • Active community

JavaScript is definitely the most popular programming language in the world, and, it has thriving and the most active developers’ communities. Moreover, within communities developers share code and valuable insights with each other.

Turn off the LAMP

MEAN and LAMP stacks are going up against each other for some time now, but MEAN seems to be winning the contest.

LAMP was one of the first open-source web-technology stacks that gained wide popularity among developers. LAMP stack combines Linux operating system, Apache web-server, MySQL database, and PHP programming language. Still, the LAMP components were not initially designed to work together.

In the past years LAMP was one the most widely-used web-technology stacks, but MEAN stack allows developers jump off the established LAMP environment.

TechnologyLAMPMEAN
Operating systemLinuxNo restrictions
Web serverApacheNode.js
Data storageMySQL (relational data storage)MongoDB (non-relational data storage)
PerformanceHorizontal scaling and high transaction loads affect performanceMongoDB is very fast, but can have minor and infrequent data loss
User developmentIn LAMP you need different programming languages for front-end and back-end developmentJavaScript across the stack
ScalabilityMySQL is a bit harder to scale compared to MongoDB. LAMP is scalable, if you know how to optimize it (MySQL optimizations can be quite complicated)MEAN scales all the layers of front-end, back-end and database
SecurityStable and secureStable and secure
Through-putSynchronousAsynchronous
CostCostly due to the necessity to hire different expertsCheaper, as same people work on front-end and back-end

Summing up

MEAN stack continues to gain amazing popularity due to its high performance, fewer overheads and easiness to combine around. The technologies perfectly integrate with each other and are invaluable in developing ambitious and competitive web apps. Another advantages are that MEAN stack is relatively easy to learn, is being constantly improved, and it heavily supported by thriving community.

Had some projects on MEAN? Leave your comments to let us know what you think about it. Share the article to your colleagues if you find it useful.

Summary
Introducing the MEAN stack
Article Name
Introducing the MEAN stack
Description
Technology disruption has already disrupted. Everything has changed with the pace of digital revolution. The fast moving and diverse environment of web development is no exception. During the recent years everybody in the web community speaks about the MEAN stack. What are they discussing?
Author
Publisher Name
LaSoft
Publisher Logo

1 comments On Introducing the MEAN stack

Leave a reply:

Your email address will not be published.

Welcome to check our projects

We have described the most compelling solutions and approaches to meet challenges and advantages.

Share This